0s autopkgtest [06:45:37]: starting date and time: 2025-10-28 06:45:37+0000 0s autopkgtest [06:45:37]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [06:45:37]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.xu0rcrgy/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:beautifulsoup4 --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=beautifulsoup4/4.14.2-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-1.secgroup --name adt-resolute-ppc64el-translate-toolkit-20251028-064537-juju-7f2275-prod-proposed-migration-environment-15-98a02b55-f49d-4ba0-9581-563f651ee2bb --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-ppc64el-translate-toolkit-20251028-064537-juju-7f2275-prod-proposed-migration-environment-15-98a02b55-f49d-4ba0-9581-563f651ee2bb from image adt/ubuntu-resolute-ppc64el-server-20251028.img (UUID e5a61277-788c-4e58-9b1d-7ad1933264fb)... 52s autopkgtest [06:46:29]: testbed dpkg architecture: ppc64el 52s autopkgtest [06:46:29]: testbed apt version: 3.1.8ubuntu1 53s autopkgtest [06:46:30]: @@@@@@@@@@@@@@@@@@@@ test bed setup 53s autopkgtest [06:46:30]: testbed release detected to be: None 53s autopkgtest [06:46:30]: updating testbed package index (apt update) 54s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 54s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 54s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 54s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 54s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 55s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 55s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 55s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 55s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [234 kB] 55s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted ppc64el Packages [940 B] 55s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [835 kB] 55s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [5496 B] 56s Fetched 4787 kB in 2s (2177 kB/s) 57s Reading package lists... 57s Failed to check for VM: Permission denied 58s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 58s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 58s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 58s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 59s Reading package lists... 59s Reading package lists... 59s Building dependency tree... 59s Reading state information... 59s Calculating upgrade... 59s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 59s autopkgtest [06:46:36]: upgrading testbed (apt dist-upgrade and autopurge) 59s Reading package lists... 59s Building dependency tree... 59s Reading state information... 59s Calculating upgrade... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 60s Solving dependencies... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 63s autopkgtest [06:46:40]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:02:41 UTC 2025 63s autopkgtest [06:46:40]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 67s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (dsc) [3193 B] 67s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (tar) [1170 kB] 67s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (diff) [24.9 kB] 67s gpgv: Signature made Fri Mar 14 13:03:50 2025 UTC 67s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 67s gpgv: Can't check signature: No public key 67s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.15.1-1.dsc: no acceptable signature found 67s autopkgtest [06:46:44]: testing package translate-toolkit version 3.15.1-1 67s autopkgtest [06:46:44]: build not needed 76s autopkgtest [06:46:53]: test translate-toolkit: preparing testbed 76s Reading package lists... 77s Building dependency tree... 77s Reading state information... 77s Solving dependencies... 77s The following NEW packages will be installed: 77s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 77s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 77s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 77s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 77s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 77s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 77s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 77s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 77s python3-translate python3-vobject python3-xapian subversion 77s translate-toolkit 77s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 77s Need to get 13.4 MB of archives. 77s After this operation, 72.6 MB of additional disk space will be used. 77s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el emacsen-common all 3.0.8 [13.9 kB] 77s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el dictionaries-common all 1.30.10 [178 kB] 77s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-5ubuntu1 [169 kB] 77s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.1-2build2 [1177 kB] 78s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el hunspell-en-us all 1:2020.12.07-4 [585 kB] 78s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 78s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu2 [112 kB] 78s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaspell15 ppc64el 0.60.8.1-4 [386 kB] 78s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 78s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3 [67.1 kB] 78s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 78s Get:12 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 78s Get:13 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libutf8proc3 ppc64el 2.10.0-2 [73.5 kB] 78s Get:14 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libsvn1 ppc64el 1.14.5-4 [1683 kB] 78s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libxapian30 ppc64el 1.4.29-3 [810 kB] 78s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 78s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aeidon all 1.15-2 [231 kB] 78s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-soupsieve all 2.7-2 [33.6 kB] 78s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-bs4 all 4.14.2-1 [82.8 kB] 78s Get:20 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-charset-normalizer ppc64el 3.4.2-1 [132 kB] 78s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 78s Get:22 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-cwcwidth ppc64el 0.1.10-1build2 [30.0 kB] 78s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB] 78s Get:24 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 78s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-enchant all 3.3.0~rc1-1 [35.1 kB] 78s Get:26 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rapidfuzz ppc64el 3.12.2+ds-1build1 [1467 kB] 79s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-levenshtein ppc64el 0.27.1-2build1 [157 kB] 79s Get:28 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.1-1build1 [2449 kB] 79s Get:29 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mistletoe all 1.4.0-1 [38.2 kB] 79s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-9 [45.8 kB] 79s Get:31 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 79s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-pytz all 2025.2-4 [32.3 kB] 79s Get:33 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB] 79s Get:34 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 79s Get:35 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-translate all 3.15.1-1 [319 kB] 79s Get:36 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 79s Get:37 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-xapian ppc64el 1.4.29-1build1 [548 kB] 79s Get:38 http://ftpmaster.internal/ubuntu resolute/universe ppc64el subversion ppc64el 1.14.5-4 [942 kB] 79s Get:39 http://ftpmaster.internal/ubuntu resolute/universe ppc64el translate-toolkit all 3.15.1-1 [81.0 kB] 79s Get:40 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniparse all 0.5.1-1 [21.2 kB] 79s Get:41 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 80s Preconfiguring packages ... 80s Fetched 13.4 MB in 2s (5471 kB/s) 80s Selecting previously unselected package emacsen-common. 80s (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 ... 76557 files and directories currently installed.) 80s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 80s Unpacking emacsen-common (3.0.8) ... 80s Selecting previously unselected package dictionaries-common. 80s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 80s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 80s Unpacking dictionaries-common (1.30.10) ... 80s Selecting previously unselected package libgomp1:ppc64el. 80s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_ppc64el.deb ... 80s Unpacking libgomp1:ppc64el (15.2.0-5ubuntu1) ... 80s Selecting previously unselected package gettext. 80s Preparing to unpack .../03-gettext_0.23.1-2build2_ppc64el.deb ... 80s Unpacking gettext (0.23.1-2build2) ... 80s Selecting previously unselected package hunspell-en-us. 80s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 80s Unpacking hunspell-en-us (1:2020.12.07-4) ... 80s Selecting previously unselected package libapr1t64:ppc64el. 80s Preparing to unpack .../05-libapr1t64_1.7.5-1_ppc64el.deb ... 80s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 80s Selecting previously unselected package libaprutil1t64:ppc64el. 80s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_ppc64el.deb ... 80s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 80s Selecting previously unselected package libaspell15:ppc64el. 80s Preparing to unpack .../07-libaspell15_0.60.8.1-4_ppc64el.deb ... 80s Unpacking libaspell15:ppc64el (0.60.8.1-4) ... 80s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 80s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 80s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 80s Selecting previously unselected package libenchant-2-2:ppc64el. 80s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_ppc64el.deb ... 80s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 80s Selecting previously unselected package libexttextcat-data. 80s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 80s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 80s Selecting previously unselected package libserf-1-1:ppc64el. 80s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 80s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 80s Selecting previously unselected package libutf8proc3:ppc64el. 80s Preparing to unpack .../12-libutf8proc3_2.10.0-2_ppc64el.deb ... 80s Unpacking libutf8proc3:ppc64el (2.10.0-2) ... 80s Selecting previously unselected package libsvn1:ppc64el. 80s Preparing to unpack .../13-libsvn1_1.14.5-4_ppc64el.deb ... 80s Unpacking libsvn1:ppc64el (1.14.5-4) ... 80s Selecting previously unselected package libxapian30:ppc64el. 80s Preparing to unpack .../14-libxapian30_1.4.29-3_ppc64el.deb ... 80s Unpacking libxapian30:ppc64el (1.4.29-3) ... 80s Selecting previously unselected package libxslt1.1:ppc64el. 80s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 80s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 80s Selecting previously unselected package python3-aeidon. 80s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 80s Unpacking python3-aeidon (1.15-2) ... 80s Selecting previously unselected package python3-soupsieve. 80s Preparing to unpack .../17-python3-soupsieve_2.7-2_all.deb ... 80s Unpacking python3-soupsieve (2.7-2) ... 80s Selecting previously unselected package python3-bs4. 80s Preparing to unpack .../18-python3-bs4_4.14.2-1_all.deb ... 80s Unpacking python3-bs4 (4.14.2-1) ... 80s Selecting previously unselected package python3-charset-normalizer. 81s Preparing to unpack .../19-python3-charset-normalizer_3.4.2-1_ppc64el.deb ... 81s Unpacking python3-charset-normalizer (3.4.2-1) ... 81s Selecting previously unselected package python3-cheroot. 81s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-4_all.deb ... 81s Unpacking python3-cheroot (10.0.1+ds1-4) ... 81s Selecting previously unselected package python3-cwcwidth. 81s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1build2_ppc64el.deb ... 81s Unpacking python3-cwcwidth (0.1.10-1build2) ... 81s Selecting previously unselected package python3-dateutil. 81s Preparing to unpack .../22-python3-dateutil_2.9.0-4_all.deb ... 81s Unpacking python3-dateutil (2.9.0-4) ... 81s Selecting previously unselected package python3-diff-match-patch. 81s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 81s Unpacking python3-diff-match-patch (20241021-1) ... 81s Selecting previously unselected package python3-enchant. 81s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 81s Unpacking python3-enchant (3.3.0~rc1-1) ... 81s Selecting previously unselected package python3-rapidfuzz. 81s Preparing to unpack .../25-python3-rapidfuzz_3.12.2+ds-1build1_ppc64el.deb ... 81s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 81s Selecting previously unselected package python3-levenshtein. 81s Preparing to unpack .../26-python3-levenshtein_0.27.1-2build1_ppc64el.deb ... 81s Unpacking python3-levenshtein (0.27.1-2build1) ... 81s Selecting previously unselected package python3-lxml:ppc64el. 81s Preparing to unpack .../27-python3-lxml_6.0.1-1build1_ppc64el.deb ... 81s Unpacking python3-lxml:ppc64el (6.0.1-1build1) ... 81s Selecting previously unselected package python3-mistletoe. 81s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 81s Unpacking python3-mistletoe (1.4.0-1) ... 81s Selecting previously unselected package python3-ply. 81s Preparing to unpack .../29-python3-ply_3.11-9_all.deb ... 81s Unpacking python3-ply (3.11-9) ... 81s Selecting previously unselected package python3-phply. 81s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 81s Unpacking python3-phply (1.2.6-1) ... 81s Selecting previously unselected package python3-pytz. 81s Preparing to unpack .../31-python3-pytz_2025.2-4_all.deb ... 81s Unpacking python3-pytz (2025.2-4) ... 81s Selecting previously unselected package python3-ruamel.yaml.clib. 81s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ... 81s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 81s Selecting previously unselected package python3-ruamel.yaml. 81s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 81s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 81s Selecting previously unselected package python3-translate. 81s Preparing to unpack .../34-python3-translate_3.15.1-1_all.deb ... 81s Unpacking python3-translate (3.15.1-1) ... 81s Selecting previously unselected package python3-vobject. 81s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 81s Unpacking python3-vobject (0.9.9+dfsg-1) ... 81s Selecting previously unselected package python3-xapian. 81s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_ppc64el.deb ... 81s Unpacking python3-xapian (1.4.29-1build1) ... 81s Selecting previously unselected package subversion. 81s Preparing to unpack .../37-subversion_1.14.5-4_ppc64el.deb ... 81s Unpacking subversion (1.14.5-4) ... 81s Selecting previously unselected package translate-toolkit. 81s Preparing to unpack .../38-translate-toolkit_3.15.1-1_all.deb ... 81s Unpacking translate-toolkit (3.15.1-1) ... 81s Selecting previously unselected package python3-iniparse. 81s Preparing to unpack .../39-python3-iniparse_0.5.1-1_all.deb ... 81s Unpacking python3-iniparse (0.5.1-1) ... 81s Selecting previously unselected package python3-pycountry. 81s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 81s Unpacking python3-pycountry (24.6.1+ds1-1) ... 81s Setting up libxapian30:ppc64el (1.4.29-3) ... 81s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 82s Setting up python3-diff-match-patch (20241021-1) ... 82s Setting up python3-aeidon (1.15-2) ... 82s Setting up libutf8proc3:ppc64el (2.10.0-2) ... 82s Setting up libaspell15:ppc64el (0.60.8.1-4) ... 82s Setting up python3-charset-normalizer (3.4.2-1) ... 82s Setting up python3-ply (3.11-9) ... 82s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 82s Setting up python3-pytz (2025.2-4) ... 82s Setting up libgomp1:ppc64el (15.2.0-5ubuntu1) ... 82s Setting up emacsen-common (3.0.8) ... 82s Setting up python3-cheroot (10.0.1+ds1-4) ... 82s Setting up python3-pycountry (24.6.1+ds1-1) ... 82s Setting up python3-xapian (1.4.29-1build1) ... 83s Setting up python3-cwcwidth (0.1.10-1build2) ... 83s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 83s Setting up python3-mistletoe (1.4.0-1) ... 83s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 83s Setting up libapr1t64:ppc64el (1.7.5-1) ... 83s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 83s Setting up python3-dateutil (2.9.0-4) ... 83s Setting up python3-levenshtein (0.27.1-2build1) ... 83s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 83s Setting up python3-soupsieve (2.7-2) ... 83s Setting up python3-iniparse (0.5.1-1) ... 83s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 83s Setting up python3-vobject (0.9.9+dfsg-1) ... 84s Setting up gettext (0.23.1-2build2) ... 84s Setting up python3-phply (1.2.6-1) ... 84s Setting up dictionaries-common (1.30.10) ... 84s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 84s Setting up python3-bs4 (4.14.2-1) ... 84s Setting up python3-lxml:ppc64el (6.0.1-1build1) ... 84s Setting up hunspell-en-us (1:2020.12.07-4) ... 84s Setting up libsvn1:ppc64el (1.14.5-4) ... 84s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 84s Setting up subversion (1.14.5-4) ... 84s Setting up python3-enchant (3.3.0~rc1-1) ... 85s Setting up python3-translate (3.15.1-1) ... 85s Setting up translate-toolkit (3.15.1-1) ... 85s Processing triggers for libc-bin (2.42-0ubuntu3) ... 85s Processing triggers for man-db (2.13.1-1) ... 87s Processing triggers for install-info (7.1.1-1ubuntu1) ... 87s Processing triggers for dictionaries-common (1.30.10) ... 88s autopkgtest [06:47:05]: test translate-toolkit: [----------------------- 88s ========= SMOKE TEST: /usr/bin/android2po =========== 88s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 88s 88s Convert Android string files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/android2po.html for examples and usage 88s instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in xml format 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in xml format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s --duplicates=DUPLICATESTYLE 88s what to do with duplicate strings (identical source 88s text): merge, msgctxt (default: 'msgctxt') 88s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 88s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 88s input files [input files ...] 88s 88s positional arguments: 88s input files 88s 88s options: 88s -h, --help show this help message and exit 88s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 88s -s, --import-source-lang SOURCE_LANG 88s source language of translation files (default: en) 88s -t, --import-target-lang TARGET_LANG 88s target language of translation files 88s ========= SMOKE TEST: /usr/bin/csv2po =========== 89s 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] 89s 89s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 89s See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in csv format 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot formats 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in po, pot, pot formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --charset=CHARSET set charset to decode from csv files 89s --columnorder=COLUMNORDER 89s specify the order and position of columns 89s (location,source,target,context) 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 89s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 89s glossary file. See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in csv format 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in tbx format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s --charset=CHARSET set charset to decode from csv files 89s --columnorder=COLUMNORDER 89s specify the order and position of columns 89s (comment,source,target) 89s ========= SMOKE TEST: /usr/bin/dtd2po =========== 89s 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] 89s 89s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 89s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 89s this module You can convert back to .dtd using po2dtd.py. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in dtd format 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot formats 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in dtd format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 89s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Convert flat XML files to Gettext PO localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/flatxml2po.html for examples and usage 89s instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in xml format 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -r ROOT, --root=ROOT name of the XML root element (default: "root") 89s -v VALUE, --value=VALUE 89s name of the XML value element (default: "str") 89s -k KEY, --key=KEY name of the XML key attribute (default: "key") 89s -n NS, --namespace=NS 89s XML namespace uri (default: None) 89s ========= SMOKE TEST: /usr/bin/html2po =========== 89s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 89s 89s Convert HTML files to Gettext PO localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in htm, html, xhtml formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --keepcomments preserve html comments as translation notes in the 89s output 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s --multifile=MULTIFILESTYLE 89s how to split po/pot files (single, toplevel or 89s onefile) 89s ========= SMOKE TEST: /usr/bin/ical2po =========== 89s 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] 89s 89s Convert iCalendar files to Gettext PO localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in ics format 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot formats 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in ics format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/idml2po =========== 90s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 90s 90s Convert IDML files to PO localization files. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in idml format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s ========= SMOKE TEST: /usr/bin/ini2po =========== 90s 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] 90s 90s Convert .ini files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in ini, isl, iss formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in ini, isl, iss formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/json2po =========== 90s 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] 90s 90s Convert JSON files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in json format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in json format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 90s everything) 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/md2po =========== 90s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 90s 90s Convert Markdown files to Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in markdown, md, text, txt formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s --multifile=MULTIFILESTYLE 90s how to split po/pot files (single, toplevel or 90s onefile) 91s ========= SMOKE TEST: /usr/bin/moz2po =========== 91s 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] 91s 91s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 91s See: http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in *, dtd, inc, ini, it, js, lang, 91s manifest, properties, rdf formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 91s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 91s lang.pot, manifest, properties.po, properties.pot, rdf 91s formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 91s manifest, properties, rdf formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 91s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 91s 91s Convert Mozilla .lang files to Gettext PO localization files. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in lang format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --encoding=ENCODING The encoding of the input file (default: UTF-8) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/msghack =========== 91s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 91s This program can be used to alter .po files in ways no sane mind would think about. 91s -o result will be written to FILE 91s --invert invert a po file by switching msgid and msgstr 91s --master join any number of files in a master-formatted catalog 91s --empty empty the contents of the .po file, creating a .pot 91s --append append entries from ref.po that don't exist in file.po 91s 91s Note: It is just a replacement of msghack for backward support. 91s 91s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 91s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 91s 91s Convert OpenDocument (ODF) files to XLIFF localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 91s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 91s formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in xlf, xliff formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s ========= SMOKE TEST: /usr/bin/oo2po =========== 91s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 91s 91s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 91s files. See: http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in oo, sdf formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s -l LANG, --language=LANG 91s set target language to extract from oo file (e.g. af- 91s ZA) 91s --source-language=LANG 91s set source language code (default en-US) 91s --nonrecursiveinput don't treat the input oo as a recursive store 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s --multifile=MULTIFILESTYLE 91s how to split po/pot files (single, toplevel or 91s onefile) 91s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 91s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 91s 91s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 91s files. See: http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in oo, sdf formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in xlf, xliff formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -l LANG, --language=LANG 91s set target language to extract from oo file (e.g. af- 91s ZA) 91s --source-language=LANG 91s set source language code (default en-US) 91s --nonrecursiveinput don't treat the input oo as a recursive store 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s --multifile=MULTIFILESTYLE 91s how to split po/pot files (single, toplevel or 91s onefile) 91s ========= SMOKE TEST: /usr/bin/php2po =========== 91s 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] 91s 91s Convert PHP localization files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in html, php formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in html, php formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 92s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert PHP format .po files to Python format .po files. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s ========= SMOKE TEST: /usr/bin/po2csv =========== 92s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 92s See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in csv format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --columnorder=COLUMNORDER 92s specify the order and position of columns 92s (location,source,target,context) 92s ========= SMOKE TEST: /usr/bin/po2dtd =========== 92s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 92s Conversion is either done using a template plus PO file or just using the 92s .po file. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in dtd format 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in dtd format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --threshold=PERCENT only convert files where the translation completion is 92s above PERCENT 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s --removeuntranslated remove untranslated strings from output 92s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 92s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Convert Gettext PO localization files to flat XML files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/flatxml2po.html for examples and usage 92s instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in xml format 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in xml format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -r ROOT, --root=ROOT name of the XML root element (default: "root") 92s -v VALUE, --value=VALUE 92s name of the XML value element (default: "str") 92s -k KEY, --key=KEY name of the XML key attribute (default: "key") 92s -n NS, --namespace=NS 92s XML namespace uri (default: None) 92s -w INDENT, --indent=INDENT 92s indent width in spaces, 0 for no indent (default: 2) 92s ========= SMOKE TEST: /usr/bin/po2html =========== 92s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Translate HTML files using Gettext PO localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in htm, html, xhtml formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in htm, html, xhtml formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --threshold=PERCENT only convert files where the translation completion is 92s above PERCENT 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s ========= SMOKE TEST: /usr/bin/po2ical =========== 92s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Convert Gettext PO localization files to iCalendar files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in ics format 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in ics format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --threshold=PERCENT only convert files where the translation completion is 92s above PERCENT 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s ========= SMOKE TEST: /usr/bin/po2idml =========== 92s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Takes an IDML template file and a PO file containing translations of strings 92s in the IDML template. It creates a new IDML file using the translations of the 92s PO file. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in idml format 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in idml format 92s -S, --timestamp skip conversion if the output file has newer timestamp 93s ========= SMOKE TEST: /usr/bin/po2ini =========== 93s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Convert Gettext PO localization files to .ini files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in ini, isl formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in ini, isl formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s ========= SMOKE TEST: /usr/bin/po2json =========== 93s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Convert Gettext PO localization files to JSON files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in json format 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in json format 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s --removeuntranslated remove untranslated strings from output 93s ========= SMOKE TEST: /usr/bin/po2md =========== 93s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Translate Markdown files using Gettext PO localization files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in po, pot formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in markdown, md, text, txt formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in markdown, md, text, txt formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s -m MAXLENGTH, --maxlinelength=MAXLENGTH 93s reflow (word wrap) the output to the given maximum 93s line length. set to 0 to disable 93s --threshold=PERCENT only convert files where the translation completion is 93s above PERCENT 93s --fuzzy use translations marked fuzzy 93s --nofuzzy don't use translations marked fuzzy (default) 93s ========= SMOKE TEST: /usr/bin/po2moz =========== 94s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 94s See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in *, dtd.po, dtd.pot, inc.po, 94s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 94s lang.pot, manifest, properties.po, properties.pot, rdf 94s formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 94s manifest, properties, rdf formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 94s manifest, properties, rdf formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -l LOCALE, --locale=LOCALE 94s set output locale (required as this sets the directory 94s names) 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s --removeuntranslated remove untranslated strings from output 94s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 94s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to Mozilla .lang files. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in lang format 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in lang format 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s --mark-active mark the file as active 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s ========= SMOKE TEST: /usr/bin/po2oo =========== 94s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 94s file. See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot, xlf, xliff formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in oo, sdf formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in oo, sdf formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -l LANG, --language=LANG 94s set target language code (e.g. af-ZA) [required] 94s --source-language=LANG 94s set source language code (default en-US) 94s -T, --keeptimestamp don't change the timestamps of the strings 94s --nonrecursiveoutput don't treat the output oo as a recursive store 94s --nonrecursivetemplate 94s don't treat the template oo as a recursive store 94s --skipsource don't output the source language, but fallback to it 94s where needed 94s --filteraction=ACTION 94s action on pofilter failure: none (default), warn, 94s exclude-serious, exclude-all 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s --multifile=MULTIFILESTYLE 94s how to split po/pot files (single, toplevel or 94s onefile) 94s ========= SMOKE TEST: /usr/bin/po2php =========== 94s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to PHP localization files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in html, php formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in html, php formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s ========= SMOKE TEST: /usr/bin/po2prop =========== 94s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files to Java/Mozilla .properties files. 94s See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in lang, properties, strings formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in lang, properties, strings 94s formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s --personality=TYPE override the input file format: java, java-utf8, java- 94s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 94s strings, strings-utf8, joomla (for .properties files, 94s default: java) 94s --encoding=ENCODING override the encoding set by the personality 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s --removeuntranslated remove untranslated strings from output 94s ========= SMOKE TEST: /usr/bin/po2rc =========== 94s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 94s 94s Convert Gettext PO localization files back to Windows Resource (.rc) files. 94s See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in rc format 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in rc format 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s --charset=CHARSET charset to use to decode the template RC files 94s (default: utf-8) 94s --charset-output=CHARSET 94s charset to use to encode the RC file (default: auto) 94s -l LANG, --lang=LANG LANG entry 94s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 94s --threshold=PERCENT only convert files where the translation completion is 94s above PERCENT 94s --fuzzy use translations marked fuzzy 94s --nofuzzy don't use translations marked fuzzy (default) 94s ========= SMOKE TEST: /usr/bin/po2resx =========== 95s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in resx format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in resx format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2sub =========== 95s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to subtitle files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in ass, srt, ssa, sub formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in ass, srt, ssa, sub formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2symb =========== 95s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to Symbian translation files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in r0 format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 95s ========= SMOKE TEST: /usr/bin/po2tiki =========== 95s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 95s 95s Convert Gettext PO files to TikiWiki's language.php files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in tiki format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s ========= SMOKE TEST: /usr/bin/po2tmx =========== 95s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 95s 95s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 95s file. See: http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in tmx format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -l LANG, --language=LANG 95s set target language code (e.g. af-ZA) [required] 95s --source-language=LANG 95s set source language code (default: en) 95s --comments=COMMENT set default comment import: none, source, type or 95s others (default: none) 95s ========= SMOKE TEST: /usr/bin/po2ts =========== 95s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in ts format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in ts format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -c CONTEXT, --context=CONTEXT 95s use supplied context instead of the one in the .po 95s file comment 95s ========= SMOKE TEST: /usr/bin/po2txt =========== 95s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert Gettext PO localization files to plain text (.txt) files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot, xlf, xliff formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in txt format 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in txt format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --encoding=ENCODING The encoding of the template file (default: UTF-8) 95s -w WRAP, --wrap=WRAP set number of columns to wrap text at 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2web2py =========== 95s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 95s 95s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in py format 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s --threshold=PERCENT only convert files where the translation completion is 95s above PERCENT 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 96s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Convert Gettext PO localization files to a Wordfast translation memory file. 96s See: http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/po2wordfast.html for examples and usage 96s instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in txt format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s -l LANG, --language=LANG 96s set target language code (e.g. af-ZA) [required] 96s --source-language=LANG 96s set source language code (default: en) 96s ========= SMOKE TEST: /usr/bin/po2xliff =========== 96s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 96s 96s Convert Gettext PO localization files to XLIFF localization files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in xlf, xliff formats 96s -t TEMPLATE, --template=TEMPLATE 96s read from TEMPLATE in xlf, xliff formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s ========= SMOKE TEST: /usr/bin/po2yaml =========== 96s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 96s 96s Convert Gettext PO localization files to YAML files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in yaml, yml formats 96s -t TEMPLATE, --template=TEMPLATE 96s read from TEMPLATE in yaml, yml formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s --threshold=PERCENT only convert files where the translation completion is 96s above PERCENT 96s --fuzzy use translations marked fuzzy 96s --nofuzzy don't use translations marked fuzzy (default) 96s ========= SMOKE TEST: /usr/bin/poclean =========== 96s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 96s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 96s produces the target file with only the target text in from a text version of 96s the RTF. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot, xlf, xliff formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in po, pot, xlf, xliff formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s ========= SMOKE TEST: /usr/bin/pocompendium =========== 96s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 96s The first parameter is the output file, standard output if the output file is '-'. 96s Any number of directories may be specified for input files. 96s Options: 96s --invert|v Creates an inverse compendium with msgid and msgstr swapped 96s --errors|e Only ouput msg bundles that have errors 96s --correct|c Only ouput msg bundles that are correctly translated 96s --ignore-case|i Drops all strings to lowercase 96s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 96s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 96s --strip-accel-under|-su Strip all underscore (_) accelerator characters 96s ========= SMOKE TEST: /usr/bin/pocompile =========== 96s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 96s Object) files. See: http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot, xlf, xliff formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in mo format 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s --fuzzy use translations marked fuzzy 96s --nofuzzy don't use translations marked fuzzy (default) 96s ========= SMOKE TEST: /usr/bin/poconflicts =========== 96s 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] 96s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 96s 96s Conflict finder for Gettext PO localization files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/poconflicts.html for examples and usage 96s instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po format 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in po format 96s -I, --ignore-case ignore case distinctions 96s -v, --invert invert the conflicts thus extracting conflicting 96s destination words 96s --accelerator=ACCELERATORS 96s ignores the given accelerator characters when matching 96s ========= SMOKE TEST: /usr/bin/pocount =========== 96s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 96s --short-strings | --short-words] [--no-color] 96s files [files ...] 96s 96s positional arguments: 96s files 96s 96s options: 96s -h, --help show this help message and exit 96s --incomplete skip 100% translated files. 96s 96s Output format: 96s --full (default) statistics in full, verbose format 96s --csv statistics in CSV format 96s --short same as --short-strings 96s --short-strings statistics of strings in short format - one line per file 96s --short-words statistics of words in short format - one line per file 96s --no-color show output without color 96s ========= SMOKE TEST: /usr/bin/podebug =========== 96s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 96s 96s Insert debug messages into XLIFF and Gettext PO localization files. See: 96s http://docs.translatehouse.org/projects/translate- 96s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 96s 96s Options: 96s --version show program's version number and exit 96s -h, --help show this help message and exit 96s --manpage output a manpage based on the help 96s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 96s --errorlevel=ERRORLEVEL 96s show errorlevel as: none, message, exception, 96s traceback 96s -i INPUT, --input=INPUT 96s read from INPUT in po, pot, pot, tmx, xlf, xliff 96s formats 96s -x EXCLUDE, --exclude=EXCLUDE 96s exclude names matching EXCLUDE from input paths 96s -o OUTPUT, --output=OUTPUT 96s write to OUTPUT in po, pot, tmx, xlf, xliff formats 96s -S, --timestamp skip conversion if the output file has newer timestamp 96s -f FORMAT, --format=FORMAT 96s specify format string 96s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 96s classified, en, flipped, unicode, xxx 96s --ignore=APPLICATION apply tagging ignore rules for the given application: 96s gtk, kde, libreoffice, mozilla, openoffice 96s --preserveplaceholders 96s attempt to exclude characters that are part of 96s placeholders when performing character-level rewrites 96s so that consuming applications can still use the 96s placeholders to generate final output 97s ========= SMOKE TEST: /usr/bin/pofilter =========== 97s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 97s 97s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 97s Snippet files are created whenever a test fails. These can be examined, 97s corrected and merged back into the originals using pomerge. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 97s and http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 97s tests. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, tmx, xlf, xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, tmx, xlf, xliff formats 97s -l, --listfilters list filters available 97s --review include units marked for review (default) 97s --noreview exclude units marked for review 97s --fuzzy include units marked fuzzy (default) 97s --nofuzzy exclude units marked fuzzy 97s --nonotes don't add notes about the errors 97s --autocorrect output automatic corrections where possible rather 97s than describing issues 97s --language=LANG set target language code (e.g. af-ZA) [required for 97s spell check and recommended in general] 97s --openoffice use the standard checks for OpenOffice translations 97s --libreoffice use the standard checks for LibreOffice translations 97s --mozilla use the standard checks for Mozilla translations 97s --drupal use the standard checks for Drupal translations 97s --gnome use the standard checks for Gnome translations 97s --kde use the standard checks for KDE translations 97s --wx use the standard checks for wxWidgets translations 97s --excludefilter=FILTER 97s don't use FILTER when filtering 97s -t FILTER, --test=FILTER 97s only use test FILTERs specified with this option when 97s filtering 97s --notranslatefile=FILE 97s read list of untranslatable words from FILE (must not 97s be translated) 97s --musttranslatefile=FILE 97s read list of translatable words from FILE (must be 97s translated) 97s --validcharsfile=FILE 97s read list of all valid characters from FILE (must be 97s in UTF-8) 97s ========= SMOKE TEST: /usr/bin/pogrep =========== 97s 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] 97s 97s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 97s snippet files of the same type which can then be reviewed and later merged 97s using :doc:`pomerge `. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 97s xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 97s xliff formats 97s --search=SEARCHPARTS searches the given parts (source, target, notes and 97s locations) 97s -I, --ignore-case ignore case distinctions 97s -e, --regexp use regular expression matching 97s -v, --invert-match select non-matching lines 97s --accelerator=ACCELERATOR 97s ignores the given accelerator when matching 97s -k, --keep-translations 97s always extract units with translations 97s ========= SMOKE TEST: /usr/bin/pomerge =========== 97s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 97s 97s Merges XLIFF and Gettext PO localization files. Snippet file produced by 97s e.g. :doc:`pogrep ` and updated by a translator can be 97s merged back into the original files. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, pot, xlf, xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, pot, xlf, xliff formats 97s -t TEMPLATE, --template=TEMPLATE 97s read from TEMPLATE in po, pot, pot, xlf, xliff formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s --mergeblanks=MERGEBLANKS 97s whether to overwrite existing translations with blank 97s translations (yes/no). Default is yes. 97s --mergefuzzy=MERGEFUZZY 97s whether to consider fuzzy translations from input 97s (yes/no). Default is yes. 97s --mergecomments=MERGECOMMENTS 97s whether to merge comments as well as translations 97s (yes/no). Default is yes. 97s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 97s Usage pomigrate2 [options] 97s 97s Options: 97s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 97s -C|--use-compendium - create and use a compendium built from the migrating files 97s -C|--use-compendium=some-compendium.po 97s - use an external compendium during the migration 97s --no-wrap - do not wrap long lines 97s --locale=lang - set locale for newly born files 97s -q|--quiet - suppress most output 97s -p|--pot2po - use pot2po instead of msgmerge to migrate 97s ========= SMOKE TEST: /usr/bin/popuretext =========== 97s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 97s ========= SMOKE TEST: /usr/bin/poreencode =========== 97s Usage: poreencode 97s eg: poreencode UTF-8 af/ 97s ========= SMOKE TEST: /usr/bin/porestructure =========== 97s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 97s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 97s 97s Restructure Gettxt PO files produced by :doc:`poconflicts 97s ` into the original directory tree for merging using 97s :doc:`pomerge `. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po format 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po format 97s ========= SMOKE TEST: /usr/bin/posegment =========== 97s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 97s 97s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 97s See: http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot, tmx, xlf, xliff formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot, tmx, xlf, xliff formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s -P, --pot output PO Templates (.pot) rather than PO files (.po) 97s -l LANG, --language=LANG 97s the target language code 97s --source-language=LANG 97s the source language code (default 'en') 97s --keepspaces Disable automatic stripping of whitespace 97s --only-aligned Removes units where sentence number does not 97s correspond 97s ========= SMOKE TEST: /usr/bin/poswap =========== 97s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 97s 97s Builds a new translation file with the target of the input language as source 97s language. .. note:: Ensure that the two po files correspond 100% to the same 97s pot file before using this. To translate Kurdish (ku) through French:: 97s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 97s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot formats 97s -t TEMPLATE, --template=TEMPLATE 97s read from TEMPLATE in po, pot, pot formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s --reverse reverse the process of intermediate language 97s conversion 97s ========= SMOKE TEST: /usr/bin/pot2po =========== 97s 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] 97s 97s Convert template files (like .pot or template .xlf files) to translation 97s files, preserving existing translations. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 97s formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 97s xliff formats 97s -t TEMPLATE, --template=TEMPLATE 97s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 97s xliff formats 97s -S, --timestamp skip conversion if the output file has newer timestamp 97s -P, --pot output PO Templates (.pot) rather than PO files (.po) 97s --tm=TM The file to use as translation memory when fuzzy 97s matching 97s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 97s The minimum similarity for inclusion (default: 75%) 97s --nofuzzymatching Disable fuzzy matching 97s ========= SMOKE TEST: /usr/bin/poterminology =========== 97s 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] 97s input directory is searched for PO files, terminology PO file is output file 97s 97s Create a terminology file by reading a set of .po or .pot files to produce a 97s pootle-terminology.pot. See: 97s http://docs.translatehouse.org/projects/translate- 97s toolkit/en/latest/commands/poterminology.html for examples and usage 97s instructions. 97s 97s Options: 97s --version show program's version number and exit 97s -h, --help show this help message and exit 97s --manpage output a manpage based on the help 97s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 97s --errorlevel=ERRORLEVEL 97s show errorlevel as: none, message, exception, 97s traceback 97s -i INPUT, --input=INPUT 97s read from INPUT in po, pot formats 97s -x EXCLUDE, --exclude=EXCLUDE 97s exclude names matching EXCLUDE from input paths 97s -o OUTPUT, --output=OUTPUT 97s write to OUTPUT in po, pot formats 97s -u UPDATEFILE, --update=UPDATEFILE 97s update terminology in UPDATEFILE 97s -S STOPFILE, --stopword-list=STOPFILE 97s read stopword (term exclusion) list from STOPFILE 97s (default /usr/share/pyshared/translate/share/stoplist- 97s en) 97s -F, --fold-titlecase fold "Title Case" to lowercase (default) 97s -C, --preserve-case preserve all uppercase/lowercase 97s -I, --ignore-case make all terms lowercase 97s --accelerator=ACCELERATORS 97s ignore the given accelerator characters when matching 97s -t LENGTH, --term-words=LENGTH 97s generate terms of up to LENGTH words (default 3) 97s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 97s 1) 97s --inputs-needed=MIN omit terms appearing in less than MIN input files 97s (default 2, or 1 if only one input file) 97s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 97s different messages (default 1) 97s --substr-needed=MIN omit substring-only terms appearing in less than MIN 97s different messages (default 2) 97s --locs-needed=MIN omit terms appearing in less than MIN different 97s original source files (default 2) 97s --sort=ORDER output sort order(s): frequency, dictionary, length 97s (may repeat option, default is all in above order) 97s --source-language=LANG 97s the source language code (default 'en') 97s -v, --invert invert the source and target languages for terminology 98s ========= SMOKE TEST: /usr/bin/pretranslate =========== 98s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 98s 98s Fill localization files with suggested translations based on translation 98s memory and existing translations. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/pretranslate.html for examples and usage 98s instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in po, pot, pot, xlf, xliff formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot, xlf, xliff formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in po, pot, xlf, xliff formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s --tm=TM The file to use as translation memory when fuzzy 98s matching 98s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 98s The minimum similarity for inclusion (default: 75%) 98s --nofuzzymatching Disable fuzzy matching 98s ========= SMOKE TEST: /usr/bin/prop2po =========== 98s 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] 98s 98s Convert Java/Mozilla .properties files to Gettext PO localization files. 98s See: http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in lang, properties, strings formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in lang, properties, strings 98s formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --personality=TYPE override the input file format: java, java-utf8, java- 98s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 98s strings, strings-utf8, joomla (for .properties files, 98s default: java) 98s --encoding=ENCODING override the encoding set by the personality 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 98s ========= SMOKE TEST: /usr/bin/pydiff =========== 98s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 98s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 98s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 98s fromfile tofile 98s 98s positional arguments: 98s fromfile 98s tofile 98s 98s options: 98s -h, --help show this help message and exit 98s -i, --ignore-case Ignore case differences in file contents. 98s -U, --unified NUM Output NUM (default 3) lines of unified context 98s -r, --recursive Recursively compare any subdirectories found. 98s -N, --new-file Treat absent files as empty. 98s --unidirectional-new-file 98s Treat absent first files as empty. 98s -s, --report-identical-files 98s Report when two files are the same. 98s -x, --exclude PAT Exclude files that match PAT. 98s --fromcontains TEXT Only show changes where fromfile contains TEXT 98s --tocontains TEXT Only show changes where tofile contains TEXT 98s --contains TEXT Only show changes where fromfile or tofile contains 98s TEXT 98s -I, --ignore-case-contains 98s Ignore case differences when matching any of the 98s changes 98s --accelerator ACCELERATORS 98s ignores the given accelerator characters when matching 98s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 98s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 98s 98s Convert Python format .po files to PHP format .po files. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in po, pot formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s ========= SMOKE TEST: /usr/bin/rc2po =========== 98s 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] 98s 98s Convert Windows RC files to Gettext PO localization files. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in nls, rc formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in nls, rc formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --charset=CHARSET charset to use to decode the RC files (autodetection 98s is used by default) 98s -l LANG, --lang=LANG LANG entry (default: None) 98s --sublang=SUBLANG SUBLANG entry (default: None) 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 98s ========= SMOKE TEST: /usr/bin/resx2po =========== 98s 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] 98s 98s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in resx format 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in resx format 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 98s everything) 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 98s ========= SMOKE TEST: /usr/bin/sub2po =========== 98s 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] 98s 98s Convert subtitle files to Gettext PO localization files. See: 98s http://docs.translatehouse.org/projects/translate- 98s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 98s 98s Options: 98s --version show program's version number and exit 98s -h, --help show this help message and exit 98s --manpage output a manpage based on the help 98s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 98s --errorlevel=ERRORLEVEL 98s show errorlevel as: none, message, exception, 98s traceback 98s -i INPUT, --input=INPUT 98s read from INPUT in ass, srt, ssa, sub formats 98s -x EXCLUDE, --exclude=EXCLUDE 98s exclude names matching EXCLUDE from input paths 98s -o OUTPUT, --output=OUTPUT 98s write to OUTPUT in po, pot formats 98s -t TEMPLATE, --template=TEMPLATE 98s read from TEMPLATE in ass, srt, ssa, sub formats 98s -S, --timestamp skip conversion if the output file has newer timestamp 98s -P, --pot output PO Templates (.pot) rather than PO files (.po) 98s --duplicates=DUPLICATESTYLE 98s what to do with duplicate strings (identical source 98s text): merge, msgctxt (default: 'msgctxt') 98s ========= SMOKE TEST: /usr/bin/symb2po =========== 99s 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] 99s 99s Convert Symbian localisation files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in r01 format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -t TEMPLATE, --template=TEMPLATE 99s read from TEMPLATE in 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s -P, --pot output PO Templates (.pot) rather than PO files (.po) 99s --duplicates=DUPLICATESTYLE 99s what to do with duplicate strings (identical source 99s text): merge, msgctxt (default: 'msgctxt') 99s ========= SMOKE TEST: /usr/bin/tbx2po =========== 99s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 99s 99s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in tbx format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s ========= SMOKE TEST: /usr/bin/tiki2po =========== 99s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 99s 99s Convert TikiWiki's language.php files to Gettext PO localization files. See: 99s http://docs.translatehouse.org/projects/translate- 99s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 99s 99s Options: 99s --version show program's version number and exit 99s -h, --help show this help message and exit 99s --manpage output a manpage based on the help 99s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 99s --errorlevel=ERRORLEVEL 99s show errorlevel as: none, message, exception, 99s traceback 99s -i INPUT, --input=INPUT 99s read from INPUT in php format 99s -x EXCLUDE, --exclude=EXCLUDE 99s exclude names matching EXCLUDE from input paths 99s -o OUTPUT, --output=OUTPUT 99s write to OUTPUT in po, pot formats 99s -S, --timestamp skip conversion if the output file has newer timestamp 99s --include-unused Include strings in the unused section 99s ========= SMOKE TEST: /usr/bin/tmserver =========== 99s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 99s [-s SOURCE_LANG] [-b BIND] [-p PORT] 99s [--max-candidates MAX_CANDIDATES] 99s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 99s [--debug] 99s 99s options: 99s -h, --help show this help message and exit 99s -d, --tmdb TMDBFILE translation memory database file 99s -f, --import-translation-file TMFILES 99s translation file to import into the database 99s -t, --import-target-lang TARGET_LANG 99s target language of translation files 99s -s, --import-source-lang SOURCE_LANG 99s source language of translation files 99s -b, --bind BIND address to bind server to (default: localhost) 99s -p, --port PORT port to listen on (default: 8888) 99s --max-candidates MAX_CANDIDATES 99s Maximum number of candidates 99s --min-similarity MIN_SIMILARITY 99s minimum similarity 99s --max-length MAX_LENGTH 99s Maxmimum string length 99s --debug enable debugging features 100s ========= SMOKE TEST: /usr/bin/ts2po =========== 100s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 100s 100s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in ts format 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s ========= SMOKE TEST: /usr/bin/txt2po =========== 100s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 100s 100s Convert plain text (.txt) files to Gettext PO localization files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in *, txt formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --encoding=ENCODING The encoding of the input file (default: UTF-8) 100s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 100s mediawiki 100s --no-segmentation Don't segment the file, treat it like a single message 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s ========= SMOKE TEST: /usr/bin/web2py2po =========== 100s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 100s 100s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in py format 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 100s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 100s 100s Convert XLIFF translation files to OpenDocument (ODF) files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in xlf format 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 100s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 100s -t TEMPLATE, --template=TEMPLATE 100s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 100s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 100s formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 100s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 100s 100s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 100s file. See: http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in po, pot, xlf, xliff formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in oo, sdf formats 100s -t TEMPLATE, --template=TEMPLATE 100s read from TEMPLATE in oo, sdf formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -l LANG, --language=LANG 100s set target language code (e.g. af-ZA) [required] 100s --source-language=LANG 100s set source language code (default en-US) 100s -T, --keeptimestamp don't change the timestamps of the strings 100s --nonrecursiveoutput don't treat the output oo as a recursive store 100s --nonrecursivetemplate 100s don't treat the template oo as a recursive store 100s --skipsource don't output the source language, but fallback to it 100s where needed 100s --filteraction=ACTION 100s action on pofilter failure: none (default), warn, 100s exclude-serious, exclude-all 100s --fuzzy use translations marked fuzzy 100s --nofuzzy don't use translations marked fuzzy (default) 100s --multifile=MULTIFILESTYLE 100s how to split po/pot files (single, toplevel or 100s onefile) 100s ========= SMOKE TEST: /usr/bin/xliff2po =========== 100s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 100s 100s Convert XLIFF localization files to Gettext PO localization files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in xlf, xliff formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s ========= SMOKE TEST: /usr/bin/yaml2po =========== 100s 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] 100s 100s Convert YAML files to Gettext PO localization files. See: 100s http://docs.translatehouse.org/projects/translate- 100s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 100s 100s Options: 100s --version show program's version number and exit 100s -h, --help show this help message and exit 100s --manpage output a manpage based on the help 100s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 100s --errorlevel=ERRORLEVEL 100s show errorlevel as: none, message, exception, 100s traceback 100s -i INPUT, --input=INPUT 100s read from INPUT in yaml, yml formats 100s -x EXCLUDE, --exclude=EXCLUDE 100s exclude names matching EXCLUDE from input paths 100s -o OUTPUT, --output=OUTPUT 100s write to OUTPUT in po, pot formats 100s -t TEMPLATE, --template=TEMPLATE 100s read from TEMPLATE in yaml, yml formats 100s -S, --timestamp skip conversion if the output file has newer timestamp 100s -P, --pot output PO Templates (.pot) rather than PO files (.po) 100s --duplicates=DUPLICATESTYLE 100s what to do with duplicate strings (identical source 100s text): merge, msgctxt (default: 'msgctxt') 100s autopkgtest [06:47:17]: test translate-toolkit: -----------------------] 101s autopkgtest [06:47:18]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 101s translate-toolkit PASS 101s autopkgtest [06:47:18]: test python3-translate: preparing testbed 121s Creating nova instance adt-resolute-ppc64el-translate-toolkit-20251028-064537-juju-7f2275-prod-proposed-migration-environment-15-98a02b55-f49d-4ba0-9581-563f651ee2bb from image adt/ubuntu-resolute-ppc64el-server-20251028.img (UUID e5a61277-788c-4e58-9b1d-7ad1933264fb)... 187s autopkgtest [06:48:44]: testbed dpkg architecture: ppc64el 187s autopkgtest [06:48:44]: testbed apt version: 3.1.8ubuntu1 187s autopkgtest [06:48:44]: @@@@@@@@@@@@@@@@@@@@ test bed setup 188s autopkgtest [06:48:45]: testbed release detected to be: resolute 188s autopkgtest [06:48:45]: updating testbed package index (apt update) 189s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 189s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 189s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 189s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 189s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 189s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 189s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 190s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 190s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [234 kB] 190s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted ppc64el Packages [940 B] 190s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [835 kB] 190s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [5496 B] 191s Fetched 4787 kB in 2s (2277 kB/s) 192s Reading package lists... 192s Failed to check for VM: Permission denied 192s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 192s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 192s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 193s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 194s Reading package lists... 194s Reading package lists... 194s Building dependency tree... 194s Reading state information... 194s Calculating upgrade... 194s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 194s autopkgtest [06:48:51]: upgrading testbed (apt dist-upgrade and autopurge) 194s Reading package lists... 194s Building dependency tree... 194s Reading state information... 195s Calculating upgrade... 195s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 195s Reading package lists... 195s Building dependency tree... 195s Reading state information... 195s Solving dependencies... 195s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 199s Reading package lists... 199s Building dependency tree... 199s Reading state information... 199s Solving dependencies... 199s The following NEW packages will be installed: 199s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 199s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 199s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 199s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 199s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 199s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 199s python3-lxml python3-mistletoe python3-packaging python3-phply 199s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 199s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 199s python3-soupsieve python3-syrupy python3-translate python3-vobject 199s python3-xapian subversion 200s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 200s Need to get 13.7 MB of archives. 200s After this operation, 74.2 MB of additional disk space will be used. 200s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el emacsen-common all 3.0.8 [13.9 kB] 200s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el dictionaries-common all 1.30.10 [178 kB] 200s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-5ubuntu1 [169 kB] 200s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.1-2build2 [1177 kB] 200s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el hunspell-en-us all 1:2020.12.07-4 [585 kB] 200s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 200s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu2 [112 kB] 200s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaspell15 ppc64el 0.60.8.1-4 [386 kB] 200s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 201s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3 [67.1 kB] 201s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 201s Get:12 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 201s Get:13 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libutf8proc3 ppc64el 2.10.0-2 [73.5 kB] 201s Get:14 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libsvn1 ppc64el 1.14.5-4 [1683 kB] 201s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libxapian30 ppc64el 1.4.29-3 [810 kB] 201s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 201s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aeidon all 1.15-2 [231 kB] 201s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-all ppc64el 3.13.7-1 [884 B] 201s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-soupsieve all 2.7-2 [33.6 kB] 201s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-bs4 all 4.14.2-1 [82.8 kB] 201s Get:21 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-charset-normalizer ppc64el 3.4.2-1 [132 kB] 201s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 201s Get:23 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-cwcwidth ppc64el 0.1.10-1build2 [30.0 kB] 201s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB] 201s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 201s Get:26 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-enchant all 3.3.0~rc1-1 [35.1 kB] 201s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 201s Get:28 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rapidfuzz ppc64el 3.12.2+ds-1build1 [1467 kB] 201s Get:29 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-levenshtein ppc64el 0.27.1-2build1 [157 kB] 201s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.1-1build1 [2449 kB] 202s Get:31 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mistletoe all 1.4.0-1 [38.2 kB] 202s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-packaging all 25.0-1 [52.8 kB] 202s Get:33 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-9 [45.8 kB] 202s Get:34 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 202s Get:35 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-1 [21.0 kB] 202s Get:36 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 8.3.5-2 [252 kB] 202s Get:37 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-pytz all 2025.2-4 [32.3 kB] 202s Get:38 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB] 202s Get:39 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 202s Get:40 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-syrupy all 5.0.0-1 [47.9 kB] 202s Get:41 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-translate all 3.15.1-1 [319 kB] 202s Get:42 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 202s Get:43 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-xapian ppc64el 1.4.29-1build1 [548 kB] 202s Get:44 http://ftpmaster.internal/ubuntu resolute/universe ppc64el subversion ppc64el 1.14.5-4 [942 kB] 202s Get:45 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniparse all 0.5.1-1 [21.2 kB] 202s Get:46 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 202s Preconfiguring packages ... 202s Fetched 13.7 MB in 2s (5918 kB/s) 202s Selecting previously unselected package emacsen-common. 203s (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 ... 76557 files and directories currently installed.) 203s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 203s Unpacking emacsen-common (3.0.8) ... 203s Selecting previously unselected package dictionaries-common. 203s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 203s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 203s Unpacking dictionaries-common (1.30.10) ... 203s Selecting previously unselected package libgomp1:ppc64el. 203s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_ppc64el.deb ... 203s Unpacking libgomp1:ppc64el (15.2.0-5ubuntu1) ... 203s Selecting previously unselected package gettext. 203s Preparing to unpack .../03-gettext_0.23.1-2build2_ppc64el.deb ... 203s Unpacking gettext (0.23.1-2build2) ... 203s Selecting previously unselected package hunspell-en-us. 203s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 203s Unpacking hunspell-en-us (1:2020.12.07-4) ... 203s Selecting previously unselected package libapr1t64:ppc64el. 203s Preparing to unpack .../05-libapr1t64_1.7.5-1_ppc64el.deb ... 203s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 203s Selecting previously unselected package libaprutil1t64:ppc64el. 203s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_ppc64el.deb ... 203s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 203s Selecting previously unselected package libaspell15:ppc64el. 203s Preparing to unpack .../07-libaspell15_0.60.8.1-4_ppc64el.deb ... 203s Unpacking libaspell15:ppc64el (0.60.8.1-4) ... 203s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 203s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 203s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 203s Selecting previously unselected package libenchant-2-2:ppc64el. 203s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_ppc64el.deb ... 203s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 203s Selecting previously unselected package libexttextcat-data. 203s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 203s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 203s Selecting previously unselected package libserf-1-1:ppc64el. 203s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 203s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 203s Selecting previously unselected package libutf8proc3:ppc64el. 203s Preparing to unpack .../12-libutf8proc3_2.10.0-2_ppc64el.deb ... 203s Unpacking libutf8proc3:ppc64el (2.10.0-2) ... 203s Selecting previously unselected package libsvn1:ppc64el. 203s Preparing to unpack .../13-libsvn1_1.14.5-4_ppc64el.deb ... 203s Unpacking libsvn1:ppc64el (1.14.5-4) ... 203s Selecting previously unselected package libxapian30:ppc64el. 203s Preparing to unpack .../14-libxapian30_1.4.29-3_ppc64el.deb ... 203s Unpacking libxapian30:ppc64el (1.4.29-3) ... 203s Selecting previously unselected package libxslt1.1:ppc64el. 203s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 203s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 203s Selecting previously unselected package python3-aeidon. 203s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 203s Unpacking python3-aeidon (1.15-2) ... 203s Selecting previously unselected package python3-all. 203s Preparing to unpack .../17-python3-all_3.13.7-1_ppc64el.deb ... 203s Unpacking python3-all (3.13.7-1) ... 203s Selecting previously unselected package python3-soupsieve. 203s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 203s Unpacking python3-soupsieve (2.7-2) ... 203s Selecting previously unselected package python3-bs4. 203s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 203s Unpacking python3-bs4 (4.14.2-1) ... 203s Selecting previously unselected package python3-charset-normalizer. 203s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_ppc64el.deb ... 203s Unpacking python3-charset-normalizer (3.4.2-1) ... 203s Selecting previously unselected package python3-cheroot. 203s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 203s Unpacking python3-cheroot (10.0.1+ds1-4) ... 203s Selecting previously unselected package python3-cwcwidth. 203s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_ppc64el.deb ... 203s Unpacking python3-cwcwidth (0.1.10-1build2) ... 203s Selecting previously unselected package python3-dateutil. 203s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 203s Unpacking python3-dateutil (2.9.0-4) ... 203s Selecting previously unselected package python3-diff-match-patch. 203s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 203s Unpacking python3-diff-match-patch (20241021-1) ... 203s Selecting previously unselected package python3-enchant. 203s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 203s Unpacking python3-enchant (3.3.0~rc1-1) ... 203s Selecting previously unselected package python3-iniconfig. 203s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 203s Unpacking python3-iniconfig (1.1.1-2) ... 203s Selecting previously unselected package python3-rapidfuzz. 203s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_ppc64el.deb ... 203s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 203s Selecting previously unselected package python3-levenshtein. 203s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_ppc64el.deb ... 203s Unpacking python3-levenshtein (0.27.1-2build1) ... 203s Selecting previously unselected package python3-lxml:ppc64el. 203s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_ppc64el.deb ... 203s Unpacking python3-lxml:ppc64el (6.0.1-1build1) ... 204s Selecting previously unselected package python3-mistletoe. 204s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 204s Unpacking python3-mistletoe (1.4.0-1) ... 204s Selecting previously unselected package python3-packaging. 204s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 204s Unpacking python3-packaging (25.0-1) ... 204s Selecting previously unselected package python3-ply. 204s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 204s Unpacking python3-ply (3.11-9) ... 204s Selecting previously unselected package python3-phply. 204s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 204s Unpacking python3-phply (1.2.6-1) ... 204s Selecting previously unselected package python3-pluggy. 204s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 204s Unpacking python3-pluggy (1.6.0-1) ... 204s Selecting previously unselected package python3-pytest. 204s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 204s Unpacking python3-pytest (8.3.5-2) ... 204s Selecting previously unselected package python3-pytz. 204s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 204s Unpacking python3-pytz (2025.2-4) ... 204s Selecting previously unselected package python3-ruamel.yaml.clib. 204s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ... 204s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 204s Selecting previously unselected package python3-ruamel.yaml. 204s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 204s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 204s Selecting previously unselected package python3-syrupy. 204s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 204s Unpacking python3-syrupy (5.0.0-1) ... 204s Selecting previously unselected package python3-translate. 204s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 204s Unpacking python3-translate (3.15.1-1) ... 204s Selecting previously unselected package python3-vobject. 204s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 204s Unpacking python3-vobject (0.9.9+dfsg-1) ... 204s Selecting previously unselected package python3-xapian. 204s Preparing to unpack .../42-python3-xapian_1.4.29-1build1_ppc64el.deb ... 204s Unpacking python3-xapian (1.4.29-1build1) ... 204s Selecting previously unselected package subversion. 204s Preparing to unpack .../43-subversion_1.14.5-4_ppc64el.deb ... 204s Unpacking subversion (1.14.5-4) ... 204s Selecting previously unselected package python3-iniparse. 204s Preparing to unpack .../44-python3-iniparse_0.5.1-1_all.deb ... 204s Unpacking python3-iniparse (0.5.1-1) ... 204s Selecting previously unselected package python3-pycountry. 204s Preparing to unpack .../45-python3-pycountry_24.6.1+ds1-1_all.deb ... 204s Unpacking python3-pycountry (24.6.1+ds1-1) ... 204s Setting up python3-iniconfig (1.1.1-2) ... 204s Setting up libxapian30:ppc64el (1.4.29-3) ... 204s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 204s Setting up python3-diff-match-patch (20241021-1) ... 205s Setting up python3-aeidon (1.15-2) ... 205s Setting up libutf8proc3:ppc64el (2.10.0-2) ... 205s Setting up libaspell15:ppc64el (0.60.8.1-4) ... 205s Setting up python3-charset-normalizer (3.4.2-1) ... 205s Setting up python3-ply (3.11-9) ... 205s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 205s Setting up python3-all (3.13.7-1) ... 205s Setting up python3-pytz (2025.2-4) ... 205s Setting up libgomp1:ppc64el (15.2.0-5ubuntu1) ... 205s Setting up python3-packaging (25.0-1) ... 205s Setting up emacsen-common (3.0.8) ... 205s Setting up python3-cheroot (10.0.1+ds1-4) ... 205s Setting up python3-pycountry (24.6.1+ds1-1) ... 206s Setting up python3-xapian (1.4.29-1build1) ... 206s Setting up python3-cwcwidth (0.1.10-1build2) ... 206s Setting up python3-pluggy (1.6.0-1) ... 206s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 206s Setting up python3-mistletoe (1.4.0-1) ... 206s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 206s Setting up libapr1t64:ppc64el (1.7.5-1) ... 206s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 206s Setting up python3-dateutil (2.9.0-4) ... 207s Setting up python3-levenshtein (0.27.1-2build1) ... 208s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 208s Setting up python3-soupsieve (2.7-2) ... 208s Setting up python3-iniparse (0.5.1-1) ... 208s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 208s Setting up python3-vobject (0.9.9+dfsg-1) ... 208s Setting up gettext (0.23.1-2build2) ... 208s Setting up python3-phply (1.2.6-1) ... 208s Setting up dictionaries-common (1.30.10) ... 208s Setting up python3-pytest (8.3.5-2) ... 208s Setting up python3-syrupy (5.0.0-1) ... 208s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 208s Setting up python3-bs4 (4.14.2-1) ... 208s Setting up python3-lxml:ppc64el (6.0.1-1build1) ... 208s Setting up hunspell-en-us (1:2020.12.07-4) ... 208s Setting up libsvn1:ppc64el (1.14.5-4) ... 208s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 208s Setting up subversion (1.14.5-4) ... 209s Setting up python3-enchant (3.3.0~rc1-1) ... 209s Setting up python3-translate (3.15.1-1) ... 209s Processing triggers for libc-bin (2.42-0ubuntu3) ... 209s Processing triggers for man-db (2.13.1-1) ... 211s Processing triggers for install-info (7.1.1-1ubuntu1) ... 212s Processing triggers for dictionaries-common (1.30.10) ... 220s autopkgtest [06:49:17]: test python3-translate: [----------------------- 221s ============================= test session starts ============================== 221s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 221s cachedir: .pytest_cache 221s rootdir: /tmp/autopkgtest.pSw71T/autopkgtest_tmp 221s plugins: syrupy-5.0.0, typeguard-4.4.2 227s collecting ... collected 3383 items / 2 skipped 227s 227s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 227s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 227s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 227s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 227s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 227s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 227s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 227s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 227s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 227s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 227s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 227s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 227s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 227s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 227s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 228s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 228s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 228s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 228s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 228s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 228s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 228s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 228s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 228s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 228s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 228s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 228s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 228s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 228s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 228s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 228s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 228s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 228s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 229s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 229s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 229s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 229s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 229s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 229s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 229s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 229s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 229s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 229s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 229s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 229s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 229s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 229s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 229s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 229s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 229s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 229s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 229s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 229s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 229s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 229s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 229s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 229s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 230s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 230s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 230s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 230s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 230s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 230s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 230s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 230s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 230s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 230s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 230s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 230s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 230s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 230s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 230s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 230s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 231s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 231s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 231s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 231s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 231s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 231s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 231s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 231s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 231s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 231s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 231s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 231s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 231s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 231s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 232s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 232s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 232s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 232s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 232s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 232s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 232s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 232s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 232s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 232s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 232s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 232s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 232s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 232s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 232s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 232s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 232s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 232s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 232s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 232s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 232s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 232s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 232s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 232s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 232s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 232s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 232s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 232s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 232s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 232s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 232s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 232s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 232s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 232s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 232s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 232s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 232s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 232s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 232s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 232s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 232s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 232s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 232s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 232s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 232s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 232s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 232s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 232s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 232s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 232s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 232s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 232s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 232s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 232s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 232s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 232s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 232s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 232s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 232s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 232s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 232s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 232s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 232s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 232s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 232s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 232s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 232s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 232s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 232s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 232s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 232s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 232s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 233s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 233s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 233s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 233s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 233s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 233s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 233s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 233s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 233s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 233s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 233s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 233s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 233s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 234s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 234s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 234s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 234s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 234s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 234s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 234s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 234s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 234s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 234s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 234s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 234s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 234s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 234s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 234s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 234s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 234s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 234s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 234s 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%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 234s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 234s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 234s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 234s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 234s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 234s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 234s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 234s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 234s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 234s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 234s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 234s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 234s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 235s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 235s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 235s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 235s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 235s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 235s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 235s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 237s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 237s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 237s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 237s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 237s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 237s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 237s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 237s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 237s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 237s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 237s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 237s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 237s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 237s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 237s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 237s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 238s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 238s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 238s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 238s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 238s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 238s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 238s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 238s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 238s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 238s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 238s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 238s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 238s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 238s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 238s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 238s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 238s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 238s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 238s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 238s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 238s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 238s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 238s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 238s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 238s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 238s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 239s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 239s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 239s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 239s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 239s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 239s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 239s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 239s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 240s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 240s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 240s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 240s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 240s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 240s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 240s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 240s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 240s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 240s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 240s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 240s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 240s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 240s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 240s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 240s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 240s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 240s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 240s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 240s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 240s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 240s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 240s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 240s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 240s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 240s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 240s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 240s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 240s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 240s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 240s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 240s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 240s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 240s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 240s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 240s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 240s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 241s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 241s 241s =============================== warnings summary =============================== 241s tests/translate/storage/test_cpo.py:15 241s Warning: 241s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 241s ImportError('gettext PO library not found') 241s In pytest 9.1 this warning will become an error by default. 241s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 241s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 241s 241s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 241s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.pSw71T/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 241s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 241s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 241s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 241s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 241s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 241s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 241s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 241s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 241s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 241s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 241s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 241s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 241s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 241s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 241s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 241s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 241s Warning: Could not find accesskey for key.accesskey 241s 241s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 241s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 241s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 241s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 241s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 241s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.pSw71T/autopkgtest_tmp/tests/translate/convert/test.idml'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 241s Warning: unclosed file <_io.BufferedReader name='translation.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 241s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 241s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 241s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 241s Warning: Could not find accesskey for prop.accesskey 241s 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 241s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 241s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 241s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 241s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 241s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 241s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 241s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 241s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 241s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 241s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.pSw71T/autopkgtest_tmp/tests/translate/convert/test.odt'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 241s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 241s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 241s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 241s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 241s Enable tracemalloc to get traceback where the object was allocated. 241s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 241s 241s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 241s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 241s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 241s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 241s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 241s 241s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 241s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 241s 241s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 241s Warning: DTD file '' does not validate 241s 241s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 241s --------------------------- snapshot report summary ---------------------------- 241s 23 snapshots passed. 241s =========================== short test summary info ============================ 241s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 241s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 241s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 241s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 241s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 241s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 241s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 241s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 241s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 241s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 241s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 241s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 241s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 241s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 241s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 241s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 241s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 241s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 241s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 241s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 241s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 241s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 241s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 241s 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. 241s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 241s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 241s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 241s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 241s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 241s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 241s 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 241s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 241s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 241s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 241s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 241s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 241s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 241s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 241s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 241s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 241s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 241s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 241s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 241s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 241s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 241s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 241s ========== 3324 passed, 22 skipped, 39 xfailed, 50 warnings in 20.51s ========== 242s autopkgtest [06:49:39]: test python3-translate: -----------------------] 243s autopkgtest [06:49:40]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 243s python3-translate PASS 243s autopkgtest [06:49:40]: test python3-translate-commands: preparing testbed 250s Creating nova instance adt-resolute-ppc64el-translate-toolkit-20251028-064537-juju-7f2275-prod-proposed-migration-environment-15-98a02b55-f49d-4ba0-9581-563f651ee2bb from image adt/ubuntu-resolute-ppc64el-server-20251028.img (UUID e5a61277-788c-4e58-9b1d-7ad1933264fb)... 294s autopkgtest [06:50:31]: testbed dpkg architecture: ppc64el 294s autopkgtest [06:50:31]: testbed apt version: 3.1.8ubuntu1 294s autopkgtest [06:50:31]: @@@@@@@@@@@@@@@@@@@@ test bed setup 295s autopkgtest [06:50:32]: testbed release detected to be: resolute 295s autopkgtest [06:50:32]: updating testbed package index (apt update) 296s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 296s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 296s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 296s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 296s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 296s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 297s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 297s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 297s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [234 kB] 297s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted ppc64el Packages [940 B] 297s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [835 kB] 297s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [5496 B] 298s Fetched 4787 kB in 2s (2110 kB/s) 299s Reading package lists... 299s Failed to check for VM: Permission denied 299s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 299s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 300s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 300s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 300s Reading package lists... 300s Reading package lists... 300s Building dependency tree... 300s Reading state information... 301s Calculating upgrade... 301s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 301s autopkgtest [06:50:38]: upgrading testbed (apt dist-upgrade and autopurge) 301s Reading package lists... 301s Building dependency tree... 301s Reading state information... 301s Calculating upgrade... 301s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 301s Reading package lists... 301s Building dependency tree... 301s Reading state information... 302s Solving dependencies... 302s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 305s Reading package lists... 306s Building dependency tree... 306s Reading state information... 306s Solving dependencies... 306s The following NEW packages will be installed: 306s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 306s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 306s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 306s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 306s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 306s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 306s python3-lxml python3-mistletoe python3-packaging python3-phply 306s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 306s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 306s python3-soupsieve python3-syrupy python3-translate python3-vobject 306s python3-wcwidth python3-xapian subversion translate-toolkit 306s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 306s Need to get 13.8 MB of archives. 306s After this operation, 75.1 MB of additional disk space will be used. 306s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el emacsen-common all 3.0.8 [13.9 kB] 306s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el dictionaries-common all 1.30.10 [178 kB] 306s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-5ubuntu1 [169 kB] 306s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.1-2build2 [1177 kB] 306s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el hunspell-en-us all 1:2020.12.07-4 [585 kB] 307s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 307s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu2 [112 kB] 307s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaspell15 ppc64el 0.60.8.1-4 [386 kB] 307s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 307s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3 [67.1 kB] 307s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 307s Get:12 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 307s Get:13 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libutf8proc3 ppc64el 2.10.0-2 [73.5 kB] 307s Get:14 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libsvn1 ppc64el 1.14.5-4 [1683 kB] 308s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libxapian30 ppc64el 1.4.29-3 [810 kB] 308s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 308s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aeidon all 1.15-2 [231 kB] 308s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-all ppc64el 3.13.7-1 [884 B] 308s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-soupsieve all 2.7-2 [33.6 kB] 308s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-bs4 all 4.14.2-1 [82.8 kB] 308s Get:21 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-charset-normalizer ppc64el 3.4.2-1 [132 kB] 308s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 308s Get:23 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-cwcwidth ppc64el 0.1.10-1build2 [30.0 kB] 308s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-dateutil all 2.9.0-4 [80.3 kB] 308s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 308s Get:26 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-enchant all 3.3.0~rc1-1 [35.1 kB] 308s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 308s Get:28 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rapidfuzz ppc64el 3.12.2+ds-1build1 [1467 kB] 308s Get:29 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-levenshtein ppc64el 0.27.1-2build1 [157 kB] 308s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.1-1build1 [2449 kB] 309s Get:31 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mistletoe all 1.4.0-1 [38.2 kB] 309s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-packaging all 25.0-1 [52.8 kB] 309s Get:33 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-9 [45.8 kB] 309s Get:34 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 309s Get:35 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-1 [21.0 kB] 309s Get:36 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 8.3.5-2 [252 kB] 310s Get:37 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-pytz all 2025.2-4 [32.3 kB] 310s Get:38 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1build1 [169 kB] 310s Get:39 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 310s Get:40 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-syrupy all 5.0.0-1 [47.9 kB] 310s Get:41 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-translate all 3.15.1-1 [319 kB] 310s Get:42 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 310s Get:43 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 310s Get:44 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-xapian ppc64el 1.4.29-1build1 [548 kB] 310s Get:45 http://ftpmaster.internal/ubuntu resolute/universe ppc64el subversion ppc64el 1.14.5-4 [942 kB] 310s Get:46 http://ftpmaster.internal/ubuntu resolute/universe ppc64el translate-toolkit all 3.15.1-1 [81.0 kB] 310s Get:47 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniparse all 0.5.1-1 [21.2 kB] 310s Get:48 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 311s Preconfiguring packages ... 311s Fetched 13.8 MB in 5s (2634 kB/s) 311s Selecting previously unselected package emacsen-common. 311s (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 ... 76557 files and directories currently installed.) 311s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 311s Unpacking emacsen-common (3.0.8) ... 311s Selecting previously unselected package dictionaries-common. 311s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 311s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 311s Unpacking dictionaries-common (1.30.10) ... 311s Selecting previously unselected package libgomp1:ppc64el. 311s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_ppc64el.deb ... 311s Unpacking libgomp1:ppc64el (15.2.0-5ubuntu1) ... 311s Selecting previously unselected package gettext. 311s Preparing to unpack .../03-gettext_0.23.1-2build2_ppc64el.deb ... 311s Unpacking gettext (0.23.1-2build2) ... 311s Selecting previously unselected package hunspell-en-us. 311s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 311s Unpacking hunspell-en-us (1:2020.12.07-4) ... 311s Selecting previously unselected package libapr1t64:ppc64el. 311s Preparing to unpack .../05-libapr1t64_1.7.5-1_ppc64el.deb ... 311s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 311s Selecting previously unselected package libaprutil1t64:ppc64el. 311s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_ppc64el.deb ... 311s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 311s Selecting previously unselected package libaspell15:ppc64el. 311s Preparing to unpack .../07-libaspell15_0.60.8.1-4_ppc64el.deb ... 311s Unpacking libaspell15:ppc64el (0.60.8.1-4) ... 311s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 311s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 311s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 311s Selecting previously unselected package libenchant-2-2:ppc64el. 311s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_ppc64el.deb ... 311s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 311s Selecting previously unselected package libexttextcat-data. 311s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 311s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 311s Selecting previously unselected package libserf-1-1:ppc64el. 311s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 311s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 311s Selecting previously unselected package libutf8proc3:ppc64el. 311s Preparing to unpack .../12-libutf8proc3_2.10.0-2_ppc64el.deb ... 311s Unpacking libutf8proc3:ppc64el (2.10.0-2) ... 312s Selecting previously unselected package libsvn1:ppc64el. 312s Preparing to unpack .../13-libsvn1_1.14.5-4_ppc64el.deb ... 312s Unpacking libsvn1:ppc64el (1.14.5-4) ... 312s Selecting previously unselected package libxapian30:ppc64el. 312s Preparing to unpack .../14-libxapian30_1.4.29-3_ppc64el.deb ... 312s Unpacking libxapian30:ppc64el (1.4.29-3) ... 312s Selecting previously unselected package libxslt1.1:ppc64el. 312s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 312s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 312s Selecting previously unselected package python3-aeidon. 312s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 312s Unpacking python3-aeidon (1.15-2) ... 312s Selecting previously unselected package python3-all. 312s Preparing to unpack .../17-python3-all_3.13.7-1_ppc64el.deb ... 312s Unpacking python3-all (3.13.7-1) ... 312s Selecting previously unselected package python3-soupsieve. 312s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 312s Unpacking python3-soupsieve (2.7-2) ... 312s Selecting previously unselected package python3-bs4. 312s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 312s Unpacking python3-bs4 (4.14.2-1) ... 312s Selecting previously unselected package python3-charset-normalizer. 312s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_ppc64el.deb ... 312s Unpacking python3-charset-normalizer (3.4.2-1) ... 312s Selecting previously unselected package python3-cheroot. 312s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 312s Unpacking python3-cheroot (10.0.1+ds1-4) ... 312s Selecting previously unselected package python3-cwcwidth. 312s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_ppc64el.deb ... 312s Unpacking python3-cwcwidth (0.1.10-1build2) ... 312s Selecting previously unselected package python3-dateutil. 312s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 312s Unpacking python3-dateutil (2.9.0-4) ... 312s Selecting previously unselected package python3-diff-match-patch. 312s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 312s Unpacking python3-diff-match-patch (20241021-1) ... 312s Selecting previously unselected package python3-enchant. 312s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 312s Unpacking python3-enchant (3.3.0~rc1-1) ... 312s Selecting previously unselected package python3-iniconfig. 312s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 312s Unpacking python3-iniconfig (1.1.1-2) ... 312s Selecting previously unselected package python3-rapidfuzz. 312s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_ppc64el.deb ... 312s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 312s Selecting previously unselected package python3-levenshtein. 312s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_ppc64el.deb ... 312s Unpacking python3-levenshtein (0.27.1-2build1) ... 312s Selecting previously unselected package python3-lxml:ppc64el. 312s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_ppc64el.deb ... 312s Unpacking python3-lxml:ppc64el (6.0.1-1build1) ... 312s Selecting previously unselected package python3-mistletoe. 312s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 312s Unpacking python3-mistletoe (1.4.0-1) ... 312s Selecting previously unselected package python3-packaging. 312s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 312s Unpacking python3-packaging (25.0-1) ... 312s Selecting previously unselected package python3-ply. 312s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 312s Unpacking python3-ply (3.11-9) ... 312s Selecting previously unselected package python3-phply. 312s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 312s Unpacking python3-phply (1.2.6-1) ... 312s Selecting previously unselected package python3-pluggy. 312s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 312s Unpacking python3-pluggy (1.6.0-1) ... 312s Selecting previously unselected package python3-pytest. 312s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 312s Unpacking python3-pytest (8.3.5-2) ... 312s Selecting previously unselected package python3-pytz. 312s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 312s Unpacking python3-pytz (2025.2-4) ... 312s Selecting previously unselected package python3-ruamel.yaml.clib. 312s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_ppc64el.deb ... 312s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 312s Selecting previously unselected package python3-ruamel.yaml. 312s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 312s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 312s Selecting previously unselected package python3-syrupy. 312s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 312s Unpacking python3-syrupy (5.0.0-1) ... 312s Selecting previously unselected package python3-translate. 312s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 312s Unpacking python3-translate (3.15.1-1) ... 312s Selecting previously unselected package python3-vobject. 312s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 312s Unpacking python3-vobject (0.9.9+dfsg-1) ... 312s Selecting previously unselected package python3-wcwidth. 312s Preparing to unpack .../42-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 312s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 312s Selecting previously unselected package python3-xapian. 312s Preparing to unpack .../43-python3-xapian_1.4.29-1build1_ppc64el.deb ... 312s Unpacking python3-xapian (1.4.29-1build1) ... 312s Selecting previously unselected package subversion. 312s Preparing to unpack .../44-subversion_1.14.5-4_ppc64el.deb ... 312s Unpacking subversion (1.14.5-4) ... 312s Selecting previously unselected package translate-toolkit. 312s Preparing to unpack .../45-translate-toolkit_3.15.1-1_all.deb ... 312s Unpacking translate-toolkit (3.15.1-1) ... 312s Selecting previously unselected package python3-iniparse. 312s Preparing to unpack .../46-python3-iniparse_0.5.1-1_all.deb ... 312s Unpacking python3-iniparse (0.5.1-1) ... 312s Selecting previously unselected package python3-pycountry. 312s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 312s Unpacking python3-pycountry (24.6.1+ds1-1) ... 313s Setting up python3-iniconfig (1.1.1-2) ... 313s Setting up libxapian30:ppc64el (1.4.29-3) ... 313s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 313s Setting up python3-diff-match-patch (20241021-1) ... 313s Setting up python3-aeidon (1.15-2) ... 313s Setting up libutf8proc3:ppc64el (2.10.0-2) ... 313s Setting up libaspell15:ppc64el (0.60.8.1-4) ... 313s Setting up python3-charset-normalizer (3.4.2-1) ... 313s Setting up python3-ply (3.11-9) ... 313s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 313s Setting up python3-all (3.13.7-1) ... 313s Setting up python3-pytz (2025.2-4) ... 313s Setting up libgomp1:ppc64el (15.2.0-5ubuntu1) ... 313s Setting up python3-packaging (25.0-1) ... 313s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 314s Setting up emacsen-common (3.0.8) ... 314s Setting up python3-cheroot (10.0.1+ds1-4) ... 314s Setting up python3-pycountry (24.6.1+ds1-1) ... 314s Setting up python3-xapian (1.4.29-1build1) ... 314s Setting up python3-cwcwidth (0.1.10-1build2) ... 314s Setting up python3-pluggy (1.6.0-1) ... 314s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 314s Setting up python3-mistletoe (1.4.0-1) ... 315s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 315s Setting up libapr1t64:ppc64el (1.7.5-1) ... 315s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 315s Setting up python3-dateutil (2.9.0-4) ... 315s Setting up python3-levenshtein (0.27.1-2build1) ... 315s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 315s Setting up python3-soupsieve (2.7-2) ... 315s Setting up python3-iniparse (0.5.1-1) ... 315s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 315s Setting up python3-vobject (0.9.9+dfsg-1) ... 315s Setting up gettext (0.23.1-2build2) ... 315s Setting up python3-phply (1.2.6-1) ... 315s Setting up dictionaries-common (1.30.10) ... 316s Setting up python3-pytest (8.3.5-2) ... 316s Setting up python3-syrupy (5.0.0-1) ... 316s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 316s Setting up python3-bs4 (4.14.2-1) ... 316s Setting up python3-lxml:ppc64el (6.0.1-1build1) ... 316s Setting up hunspell-en-us (1:2020.12.07-4) ... 316s Setting up libsvn1:ppc64el (1.14.5-4) ... 316s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 316s Setting up subversion (1.14.5-4) ... 316s Setting up python3-enchant (3.3.0~rc1-1) ... 316s Setting up python3-translate (3.15.1-1) ... 317s Setting up translate-toolkit (3.15.1-1) ... 317s Processing triggers for libc-bin (2.42-0ubuntu3) ... 317s Processing triggers for man-db (2.13.1-1) ... 318s Processing triggers for install-info (7.1.1-1ubuntu1) ... 319s Processing triggers for dictionaries-common (1.30.10) ... 329s autopkgtest [06:51:06]: test python3-translate-commands: [----------------------- 330s ============================= test session starts ============================== 330s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 330s cachedir: .pytest_cache 330s rootdir: /tmp/autopkgtest.pSw71T/autopkgtest_tmp 330s plugins: syrupy-5.0.0, typeguard-4.4.2 335s collecting ... collected 3383 items / 2 skipped 335s 335s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 335s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 335s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 335s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 335s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 335s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 335s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 335s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 335s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 335s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 335s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 335s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 335s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 335s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 335s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 335s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 336s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 336s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 336s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 336s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 336s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 336s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 336s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 336s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 336s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 336s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 336s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 336s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 336s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 336s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 336s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 336s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 336s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 336s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 336s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 336s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 336s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 336s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 336s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 336s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 336s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 336s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 336s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 336s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 336s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 337s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 337s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 337s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 337s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 337s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 337s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 337s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 337s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 337s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 337s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 337s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 337s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 337s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 337s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 338s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 338s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 338s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 338s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 338s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 338s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 338s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 338s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 338s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 338s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 338s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 338s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 338s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 338s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 338s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 338s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 338s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 338s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 338s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 338s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 338s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 338s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 338s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 338s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 338s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 338s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 338s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 338s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 338s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 338s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 338s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 338s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 338s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 338s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 338s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 338s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 338s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 339s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 339s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 339s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 339s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 339s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 339s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 339s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 339s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 339s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 339s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 339s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 339s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 339s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 339s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 339s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 339s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 339s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 339s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 339s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 339s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 339s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 339s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 339s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 339s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 339s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 339s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 339s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 339s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 339s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 339s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 339s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 339s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 339s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 339s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 339s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 339s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 339s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 339s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 339s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 339s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 339s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 339s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 339s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 339s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 339s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 339s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 339s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 339s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 339s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 339s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 339s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 339s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 339s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 339s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 339s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 341s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 341s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 341s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 341s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 341s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 341s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 341s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 341s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 341s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 341s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 341s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 341s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 341s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 341s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 341s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 341s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 341s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 341s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 341s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 341s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 341s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 341s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 341s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 341s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 341s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 341s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 341s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 341s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 341s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 341s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 341s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 341s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 341s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 341s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 341s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 341s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 341s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 341s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 341s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 341s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 341s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 341s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 341s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 341s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 341s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 341s 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%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 341s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 341s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 341s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 341s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 341s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 341s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 341s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 341s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 341s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 341s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 341s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 341s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 341s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 342s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 342s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 342s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 342s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 342s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 342s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 342s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 343s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 343s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 343s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 343s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 343s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 343s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 343s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 343s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 343s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 343s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 343s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 344s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 344s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 344s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 344s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 344s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 344s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 344s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 344s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 344s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 344s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 344s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 344s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 344s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 344s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 344s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 344s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 344s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 345s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 345s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 345s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 345s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 345s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 345s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 345s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 345s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 345s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 345s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 345s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 346s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 346s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 346s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 346s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 346s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 346s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 346s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 346s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 346s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 346s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 347s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 347s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 347s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 347s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 347s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 347s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 347s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 347s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 347s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 347s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 347s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 347s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 347s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 347s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 347s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 347s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 348s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 348s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 348s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 348s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 348s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 348s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 348s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 348s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 348s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 348s 348s =============================== warnings summary =============================== 348s tests/translate/storage/test_cpo.py:15 348s Warning: 348s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 348s ImportError('gettext PO library not found') 348s In pytest 9.1 this warning will become an error by default. 348s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 348s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 348s 348s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 348s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.pSw71T/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 348s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 348s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 348s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 348s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 348s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 348s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 348s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 348s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 348s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 348s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 348s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 348s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 348s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 348s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 348s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 348s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 348s Warning: Could not find accesskey for key.accesskey 348s 348s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 348s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 348s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 348s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 348s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 348s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.pSw71T/autopkgtest_tmp/tests/translate/convert/test.idml'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 348s Warning: unclosed file <_io.BufferedReader name='translation.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 348s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 348s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 348s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 348s Warning: Could not find accesskey for prop.accesskey 348s 348s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 348s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 348s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 348s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 348s 348s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 348s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 348s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 349s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 349s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 349s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 349s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 349s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 349s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 349s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 349s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.pSw71T/autopkgtest_tmp/tests/translate/convert/test.odt'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 349s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 349s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 349s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 349s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 349s Enable tracemalloc to get traceback where the object was allocated. 349s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 349s 349s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 349s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 349s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 349s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 349s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 349s 349s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 349s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 349s 349s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 349s Warning: DTD file '' does not validate 349s 349s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 349s --------------------------- snapshot report summary ---------------------------- 349s 23 snapshots passed. 349s =========================== short test summary info ============================ 349s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 349s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 349s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 349s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 349s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 349s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 349s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 349s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 349s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 349s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 349s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 349s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 349s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 349s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 349s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 349s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 349s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 349s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 349s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 349s 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. 349s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 349s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 349s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 349s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 349s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 349s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 349s 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 349s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 349s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 349s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 349s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 349s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 349s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 349s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 349s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 349s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 349s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 349s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 349s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 349s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 349s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 349s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 349s ========== 3343 passed, 3 skipped, 39 xfailed, 50 warnings in 18.82s =========== 349s autopkgtest [06:51:26]: test python3-translate-commands: -----------------------] 350s autopkgtest [06:51:27]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 350s python3-translate-commands PASS 350s autopkgtest [06:51:27]: @@@@@@@@@@@@@@@@@@@@ summary 350s translate-toolkit PASS 350s python3-translate PASS 350s python3-translate-commands PASS