0s autopkgtest [09:49:12]: starting date and time: 2024-10-30 09:49:12+0000 0s autopkgtest [09:49:12]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [09:49:12]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.r4g4995y/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:setuptools --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/75.2.0-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-20.secgroup --name adt-plucky-arm64-translate-toolkit-20241030-094912-juju-7f2275-prod-proposed-migration-environment-15-816a03df-971e-470a-b815-8c51c964614f --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 102s autopkgtest [09:50:54]: testbed dpkg architecture: arm64 103s autopkgtest [09:50:55]: testbed apt version: 2.9.8 103s autopkgtest [09:50:55]: @@@@@@@@@@@@@@@@@@@@ test bed setup 104s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 104s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [28.1 kB] 104s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [212 kB] 104s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [2840 B] 104s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 104s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [59.3 kB] 104s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 104s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [249 kB] 105s Fetched 682 kB in 1s (879 kB/s) 105s Reading package lists... 107s Reading package lists... 108s Building dependency tree... 108s Reading state information... 109s Calculating upgrade... 110s The following NEW packages will be installed: 110s python3-jaraco.text 110s The following packages will be upgraded: 110s libkeyutils1 python3-pkg-resources python3-setuptools 110s 3 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 110s Need to get 812 kB of archives. 110s After this operation, 13.3 kB of additional disk space will be used. 110s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libkeyutils1 arm64 1.6.3-4ubuntu2 [10.2 kB] 111s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jaraco.text all 4.0.0-1 [11.5 kB] 111s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-pkg-resources all 75.2.0-1 [134 kB] 111s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-setuptools all 75.2.0-1 [657 kB] 112s Fetched 812 kB in 1s (1456 kB/s) 112s (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 ... 79697 files and directories currently installed.) 112s Preparing to unpack .../libkeyutils1_1.6.3-4ubuntu2_arm64.deb ... 112s Unpacking libkeyutils1:arm64 (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 112s Selecting previously unselected package python3-jaraco.text. 112s Preparing to unpack .../python3-jaraco.text_4.0.0-1_all.deb ... 112s Unpacking python3-jaraco.text (4.0.0-1) ... 112s Preparing to unpack .../python3-pkg-resources_75.2.0-1_all.deb ... 112s Unpacking python3-pkg-resources (75.2.0-1) over (74.1.2-1) ... 112s Preparing to unpack .../python3-setuptools_75.2.0-1_all.deb ... 112s Unpacking python3-setuptools (75.2.0-1) over (74.1.2-1) ... 113s Setting up python3-pkg-resources (75.2.0-1) ... 113s Setting up libkeyutils1:arm64 (1.6.3-4ubuntu2) ... 113s Setting up python3-jaraco.text (4.0.0-1) ... 113s Setting up python3-setuptools (75.2.0-1) ... 115s Processing triggers for libc-bin (2.40-1ubuntu3) ... 115s Reading package lists... 115s Building dependency tree... 115s Reading state information... 116s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 117s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 117s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 117s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 117s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 119s Reading package lists... 119s Reading package lists... 119s Building dependency tree... 119s Reading state information... 120s Calculating upgrade... 121s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 121s Reading package lists... 122s Building dependency tree... 122s Reading state information... 124s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 127s autopkgtest [09:51:19]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 127s autopkgtest [09:51:19]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 130s Get:1 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.13.2-2 (dsc) [3132 B] 130s Get:2 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.13.2-2 (tar) [1173 kB] 130s Get:3 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.13.2-2 (diff) [24.5 kB] 130s gpgv: Signature made Mon Jul 22 07:46:21 2024 UTC 130s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 130s gpgv: Can't check signature: No public key 130s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.2-2.dsc: no acceptable signature found 131s autopkgtest [09:51:23]: testing package translate-toolkit version 3.13.2-2 131s autopkgtest [09:51:23]: build not needed 132s autopkgtest [09:51:24]: test translate-toolkit: preparing testbed 134s Reading package lists... 134s Building dependency tree... 134s Reading state information... 135s Starting pkgProblemResolver with broken count: 0 135s Starting 2 pkgProblemResolver with broken count: 0 135s Done 137s The following additional packages will be installed: 137s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 137s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 137s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 137s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 137s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 137s python3-levenshtein python3-lxml python3-mistletoe python3-phply python3-ply 137s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 137s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 137s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 137s translate-toolkit 137s Suggested packages: 137s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 137s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 137s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 137s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 137s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 137s subversion-tools 137s Recommended packages: 137s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 137s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 137s The following NEW packages will be installed: 137s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 137s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 137s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 137s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 137s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 137s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 137s python3-phply python3-ply python3-pycountry python3-rapidfuzz 137s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson python3-six 137s python3-soupsieve python3-translate python3-vobject python3-wcwidth 137s python3-xapian subversion translate-toolkit 137s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 137s Need to get 10.2 MB/10.2 MB of archives. 137s After this operation, 49.0 MB of additional disk space will be used. 137s Get:1 /tmp/autopkgtest.gXIvWn/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [884 B] 137s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 emacsen-common all 3.0.5 [12.1 kB] 137s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dictionaries-common all 1.29.7 [188 kB] 137s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 14.2.0-7ubuntu1 [145 kB] 137s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.22.5-2 [930 kB] 137s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 137s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 137s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu1 [94.9 kB] 137s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 137s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 137s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 137s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 137s Get:13 http://ftpmaster.internal/ubuntu plucky/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 137s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 137s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsvn1 arm64 1.14.4-2 [1341 kB] 137s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxapian30 arm64 1.4.25-1 [672 kB] 137s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 137s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aeidon all 1.15-1 [231 kB] 137s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-soupsieve all 2.6-1 [33.0 kB] 137s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bs4 all 4.12.3-3 [109 kB] 137s Get:21 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-charset-normalizer arm64 3.3.2-2 [115 kB] 138s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 138s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 138s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 138s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 138s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 138s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidfuzz arm64 3.9.4+ds-1 [987 kB] 138s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 138s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.0-1 [1205 kB] 138s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 138s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 138s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 138s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8+ds-2 [129 kB] 138s Get:34 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 138s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 138s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 138s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-translate all 3.13.2-2 [319 kB] 138s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 138s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-xapian arm64 1.4.25-1build3 [418 kB] 138s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 subversion arm64 1.14.4-2 [904 kB] 138s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 translate-toolkit all 3.13.2-2 [81.0 kB] 138s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 138s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 138s Preconfiguring packages ... 139s Fetched 10.2 MB in 1s (9438 kB/s) 139s Selecting previously unselected package emacsen-common. 139s (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 ... 79706 files and directories currently installed.) 139s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 139s Unpacking emacsen-common (3.0.5) ... 139s Selecting previously unselected package dictionaries-common. 139s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 139s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 139s Unpacking dictionaries-common (1.29.7) ... 139s Selecting previously unselected package libgomp1:arm64. 139s Preparing to unpack .../02-libgomp1_14.2.0-7ubuntu1_arm64.deb ... 139s Unpacking libgomp1:arm64 (14.2.0-7ubuntu1) ... 139s Selecting previously unselected package gettext. 139s Preparing to unpack .../03-gettext_0.22.5-2_arm64.deb ... 139s Unpacking gettext (0.22.5-2) ... 139s Selecting previously unselected package hunspell-en-us. 139s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 139s Unpacking hunspell-en-us (1:2020.12.07-2) ... 139s Selecting previously unselected package libapr1t64:arm64. 139s Preparing to unpack .../05-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 139s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 139s Selecting previously unselected package libaprutil1t64:arm64. 139s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu1_arm64.deb ... 139s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu1) ... 139s Selecting previously unselected package libaspell15:arm64. 139s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 139s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 139s Selecting previously unselected package libhunspell-1.7-0:arm64. 139s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 139s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 139s Selecting previously unselected package libenchant-2-2:arm64. 139s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 139s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 139s Selecting previously unselected package libexttextcat-data. 139s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 139s Unpacking libexttextcat-data (3.4.7-1build1) ... 139s Selecting previously unselected package libserf-1-1:arm64. 139s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 139s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 139s Selecting previously unselected package libutf8proc3:arm64. 139s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 139s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 140s Selecting previously unselected package libsvn1:arm64. 140s Preparing to unpack .../13-libsvn1_1.14.4-2_arm64.deb ... 140s Unpacking libsvn1:arm64 (1.14.4-2) ... 140s Selecting previously unselected package libxapian30:arm64. 140s Preparing to unpack .../14-libxapian30_1.4.25-1_arm64.deb ... 140s Unpacking libxapian30:arm64 (1.4.25-1) ... 140s Selecting previously unselected package libxslt1.1:arm64. 140s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 140s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 140s Selecting previously unselected package python3-aeidon. 140s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 140s Unpacking python3-aeidon (1.15-1) ... 140s Selecting previously unselected package python3-soupsieve. 140s Preparing to unpack .../17-python3-soupsieve_2.6-1_all.deb ... 140s Unpacking python3-soupsieve (2.6-1) ... 140s Selecting previously unselected package python3-bs4. 140s Preparing to unpack .../18-python3-bs4_4.12.3-3_all.deb ... 140s Unpacking python3-bs4 (4.12.3-3) ... 140s Selecting previously unselected package python3-charset-normalizer. 140s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-2_arm64.deb ... 140s Unpacking python3-charset-normalizer (3.3.2-2) ... 140s Selecting previously unselected package python3-cheroot. 140s Preparing to unpack .../20-python3-cheroot_10.0.0+ds1-2_all.deb ... 140s Unpacking python3-cheroot (10.0.0+ds1-2) ... 140s Selecting previously unselected package python3-six. 140s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 140s Unpacking python3-six (1.16.0-7) ... 140s Selecting previously unselected package python3-dateutil. 140s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 140s Unpacking python3-dateutil (2.9.0-2) ... 140s Selecting previously unselected package python3-diff-match-patch. 140s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 140s Unpacking python3-diff-match-patch (20230430-1) ... 140s Selecting previously unselected package python3-enchant. 140s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 140s Unpacking python3-enchant (3.2.2-1) ... 140s Selecting previously unselected package python3-rapidfuzz. 140s Preparing to unpack .../25-python3-rapidfuzz_3.9.4+ds-1_arm64.deb ... 140s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 140s Selecting previously unselected package python3-levenshtein. 140s Preparing to unpack .../26-python3-levenshtein_0.25.1-3_arm64.deb ... 140s Unpacking python3-levenshtein (0.25.1-3) ... 141s Selecting previously unselected package python3-lxml:arm64. 141s Preparing to unpack .../27-python3-lxml_5.3.0-1_arm64.deb ... 141s Unpacking python3-lxml:arm64 (5.3.0-1) ... 141s Selecting previously unselected package python3-mistletoe. 141s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 141s Unpacking python3-mistletoe (1.3.0-1) ... 141s Selecting previously unselected package python3-ply. 141s Preparing to unpack .../29-python3-ply_3.11-7_all.deb ... 141s Unpacking python3-ply (3.11-7) ... 141s Selecting previously unselected package python3-phply. 141s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 141s Unpacking python3-phply (1.2.6-1) ... 141s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 141s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8+ds-2_arm64.deb ... 141s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8+ds-2) ... 141s Selecting previously unselected package python3-ruamel.yaml. 141s Preparing to unpack .../32-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 141s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 141s Selecting previously unselected package python3-simplejson. 141s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_arm64.deb ... 141s Unpacking python3-simplejson (3.19.2-1build2) ... 141s Selecting previously unselected package python3-wcwidth. 141s Preparing to unpack .../34-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 141s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 141s Selecting previously unselected package python3-translate. 141s Preparing to unpack .../35-python3-translate_3.13.2-2_all.deb ... 141s Unpacking python3-translate (3.13.2-2) ... 141s Selecting previously unselected package python3-vobject. 141s Preparing to unpack .../36-python3-vobject_0.9.6.1-2_all.deb ... 141s Unpacking python3-vobject (0.9.6.1-2) ... 141s Selecting previously unselected package python3-xapian. 141s Preparing to unpack .../37-python3-xapian_1.4.25-1build3_arm64.deb ... 141s Unpacking python3-xapian (1.4.25-1build3) ... 141s Selecting previously unselected package subversion. 141s Preparing to unpack .../38-subversion_1.14.4-2_arm64.deb ... 141s Unpacking subversion (1.14.4-2) ... 141s Selecting previously unselected package translate-toolkit. 141s Preparing to unpack .../39-translate-toolkit_3.13.2-2_all.deb ... 141s Unpacking translate-toolkit (3.13.2-2) ... 141s Selecting previously unselected package python3-iniparse. 141s Preparing to unpack .../40-python3-iniparse_0.5-2_all.deb ... 141s Unpacking python3-iniparse (0.5-2) ... 142s Selecting previously unselected package python3-pycountry. 142s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 142s Unpacking python3-pycountry (24.6.1+ds1-1) ... 142s Selecting previously unselected package autopkgtest-satdep. 142s Preparing to unpack .../42-1-autopkgtest-satdep.deb ... 142s Unpacking autopkgtest-satdep (0) ... 142s Setting up libxapian30:arm64 (1.4.25-1) ... 142s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 142s Setting up python3-diff-match-patch (20230430-1) ... 142s Setting up python3-aeidon (1.15-1) ... 142s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 142s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 142s Setting up python3-charset-normalizer (3.3.2-2) ... 143s Setting up python3-ply (3.11-7) ... 143s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8+ds-2) ... 143s Setting up libgomp1:arm64 (14.2.0-7ubuntu1) ... 143s Setting up python3-six (1.16.0-7) ... 143s Setting up python3-simplejson (3.19.2-1build2) ... 143s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 144s Setting up emacsen-common (3.0.5) ... 144s Setting up python3-cheroot (10.0.0+ds1-2) ... 144s Setting up python3-pycountry (24.6.1+ds1-1) ... 144s Setting up python3-xapian (1.4.25-1build3) ... 144s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 145s Setting up python3-mistletoe (1.3.0-1) ... 145s Setting up libexttextcat-data (3.4.7-1build1) ... 145s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 145s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 145s Setting up python3-dateutil (2.9.0-2) ... 145s Setting up python3-levenshtein (0.25.1-3) ... 145s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 145s Setting up python3-soupsieve (2.6-1) ... 145s Setting up python3-iniparse (0.5-2) ... 146s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu1) ... 146s Setting up python3-vobject (0.9.6.1-2) ... 146s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 146s patterns['name'] = '[a-zA-Z0-9\-_]+' 146s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 146s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 146s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 146s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 146s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 146s """ 146s Setting up gettext (0.22.5-2) ... 146s Setting up python3-phply (1.2.6-1) ... 146s Setting up dictionaries-common (1.29.7) ... 147s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 147s Setting up python3-bs4 (4.12.3-3) ... 147s Setting up python3-lxml:arm64 (5.3.0-1) ... 147s Setting up hunspell-en-us (1:2020.12.07-2) ... 147s Setting up libsvn1:arm64 (1.14.4-2) ... 147s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 147s Setting up subversion (1.14.4-2) ... 147s Setting up python3-enchant (3.2.2-1) ... 148s Setting up python3-translate (3.13.2-2) ... 149s Setting up translate-toolkit (3.13.2-2) ... 149s Setting up autopkgtest-satdep (0) ... 149s Processing triggers for man-db (2.12.1-3) ... 150s Processing triggers for install-info (7.1.1-1) ... 150s Processing triggers for libc-bin (2.40-1ubuntu3) ... 150s Processing triggers for dictionaries-common (1.29.7) ... 156s (Reading database ... 83184 files and directories currently installed.) 156s Removing autopkgtest-satdep (0) ... 157s autopkgtest [09:51:49]: test translate-toolkit: [----------------------- 157s ========= SMOKE TEST: /usr/bin/android2po =========== 157s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Android string files to Gettext PO localization files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/android2po.html for examples and usage 157s instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in xml format 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in po, pot formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in xml format 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --duplicates=DUPLICATESTYLE 157s what to do with duplicate strings (identical source 157s text): merge, msgctxt (default: 'msgctxt') 157s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 157s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 157s input files [input files ...] 157s 157s positional arguments: 157s input files 157s 157s options: 157s -h, --help show this help message and exit 157s -d TMDB_FILE, --tmdb TMDB_FILE 157s translation memory database file (default: tm.db) 157s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 157s source language of translation files (default: en) 157s -t TARGET_LANG, --import-target-lang TARGET_LANG 157s target language of translation files 158s ========= SMOKE TEST: /usr/bin/csv2po =========== 158s 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] 158s 158s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 158s See: http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in csv format 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po, pot formats 158s -t TEMPLATE, --template=TEMPLATE 158s read from TEMPLATE in po, pot, pot formats 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s -P, --pot output PO Templates (.pot) rather than PO files (.po) 158s --charset=CHARSET set charset to decode from csv files 158s --columnorder=COLUMNORDER 158s specify the order and position of columns 158s (location,source,target,context) 158s --duplicates=DUPLICATESTYLE 158s what to do with duplicate strings (identical source 158s text): merge, msgctxt (default: 'msgctxt') 158s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 158s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 158s 158s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 158s glossary file. See: http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in csv format 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in tbx format 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s --charset=CHARSET set charset to decode from csv files 158s --columnorder=COLUMNORDER 158s specify the order and position of columns 158s (comment,source,target) 158s ========= SMOKE TEST: /usr/bin/dtd2po =========== 159s 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] 159s 159s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 159s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 159s this module You can convert back to .dtd using po2dtd.py. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in dtd format 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -t TEMPLATE, --template=TEMPLATE 159s read from TEMPLATE in dtd format 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -P, --pot output PO Templates (.pot) rather than PO files (.po) 159s --duplicates=DUPLICATESTYLE 159s what to do with duplicate strings (identical source 159s text): merge, msgctxt (default: 'msgctxt') 159s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 159s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 159s 159s Convert flat XML files to Gettext PO localization files. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/flatxml2po.html for examples and usage 159s instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in xml format 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -r ROOT, --root=ROOT name of the XML root element (default: "root") 159s -v VALUE, --value=VALUE 159s name of the XML value element (default: "str") 159s -k KEY, --key=KEY name of the XML key attribute (default: "key") 159s -n NS, --namespace=NS 159s XML namespace uri (default: None) 159s ========= SMOKE TEST: /usr/bin/html2po =========== 159s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 159s 159s Convert HTML files to Gettext PO localization files. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in htm, html, xhtml formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -P, --pot output PO Templates (.pot) rather than PO files (.po) 159s --keepcomments preserve html comments as translation notes in the 159s output 159s --duplicates=DUPLICATESTYLE 159s what to do with duplicate strings (identical source 159s text): merge, msgctxt (default: 'msgctxt') 159s --multifile=MULTIFILESTYLE 159s how to split po/pot files (single, toplevel or 159s onefile) 160s ========= SMOKE TEST: /usr/bin/ical2po =========== 160s 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] 160s 160s Convert iCalendar files to Gettext PO localization files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in ics format 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in ics format 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s -P, --pot output PO Templates (.pot) rather than PO files (.po) 160s --duplicates=DUPLICATESTYLE 160s what to do with duplicate strings (identical source 160s text): merge, msgctxt (default: 'msgctxt') 160s ========= SMOKE TEST: /usr/bin/idml2po =========== 160s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 160s 160s Convert IDML files to PO localization files. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in idml format 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s ========= SMOKE TEST: /usr/bin/ini2po =========== 160s 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] 160s 160s Convert .ini files to Gettext PO localization files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in ini, isl, iss formats 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in ini, isl, iss formats 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s -P, --pot output PO Templates (.pot) rather than PO files (.po) 160s --duplicates=DUPLICATESTYLE 160s what to do with duplicate strings (identical source 160s text): merge, msgctxt (default: 'msgctxt') 161s ========= SMOKE TEST: /usr/bin/json2po =========== 161s 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] 161s 161s Convert JSON files to Gettext PO localization files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in json format 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot formats 161s -t TEMPLATE, --template=TEMPLATE 161s read from TEMPLATE in json format 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -P, --pot output PO Templates (.pot) rather than PO files (.po) 161s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 161s everything) 161s --duplicates=DUPLICATESTYLE 161s what to do with duplicate strings (identical source 161s text): merge, msgctxt (default: 'msgctxt') 161s ========= SMOKE TEST: /usr/bin/md2po =========== 161s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 161s 161s Convert Markdown files to Gettext PO localization files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in markdown, md, text, txt formats 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -P, --pot output PO Templates (.pot) rather than PO files (.po) 161s --duplicates=DUPLICATESTYLE 161s what to do with duplicate strings (identical source 161s text): merge, msgctxt (default: 'msgctxt') 161s --multifile=MULTIFILESTYLE 161s how to split po/pot files (single, toplevel or 161s onefile) 162s ========= SMOKE TEST: /usr/bin/moz2po =========== 162s 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] 162s 162s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 162s See: http://docs.translatehouse.org/projects/translate- 162s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 162s 162s Options: 162s --version show program's version number and exit 162s -h, --help show this help message and exit 162s --manpage output a manpage based on the help 162s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 162s --errorlevel=ERRORLEVEL 162s show errorlevel as: none, message, exception, 162s traceback 162s -i INPUT, --input=INPUT 162s read from INPUT in *, dtd, inc, ini, it, js, lang, 162s manifest, properties, rdf formats 162s -x EXCLUDE, --exclude=EXCLUDE 162s exclude names matching EXCLUDE from input paths 162s -o OUTPUT, --output=OUTPUT 162s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 162s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 162s lang.pot, manifest, properties.po, properties.pot, rdf 162s formats 162s -t TEMPLATE, --template=TEMPLATE 162s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 162s manifest, properties, rdf formats 162s -S, --timestamp skip conversion if the output file has newer timestamp 162s -P, --pot output PO Templates (.pot) rather than PO files (.po) 162s --duplicates=DUPLICATESTYLE 162s what to do with duplicate strings (identical source 162s text): merge, msgctxt (default: 'msgctxt') 162s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 162s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 162s 162s Convert Mozilla .lang files to Gettext PO localization files. 162s 162s Options: 162s --version show program's version number and exit 162s -h, --help show this help message and exit 162s --manpage output a manpage based on the help 162s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 162s --errorlevel=ERRORLEVEL 162s show errorlevel as: none, message, exception, 162s traceback 162s -i INPUT, --input=INPUT 162s read from INPUT in lang format 162s -x EXCLUDE, --exclude=EXCLUDE 162s exclude names matching EXCLUDE from input paths 162s -o OUTPUT, --output=OUTPUT 162s write to OUTPUT in po, pot formats 162s -S, --timestamp skip conversion if the output file has newer timestamp 162s -P, --pot output PO Templates (.pot) rather than PO files (.po) 162s --encoding=ENCODING The encoding of the input file (default: UTF-8) 162s --duplicates=DUPLICATESTYLE 162s what to do with duplicate strings (identical source 162s text): merge, msgctxt (default: 'msgctxt') 162s ========= SMOKE TEST: /usr/bin/msghack =========== 162s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 162s This program can be used to alter .po files in ways no sane mind would think about. 162s -o result will be written to FILE 162s --invert invert a po file by switching msgid and msgstr 162s --master join any number of files in a master-formatted catalog 162s --empty empty the contents of the .po file, creating a .pot 162s --append append entries from ref.po that don't exist in file.po 162s 162s Note: It is just a replacement of msghack for backward support. 162s 162s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 162s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 162s 162s Convert OpenDocument (ODF) files to XLIFF localization files. See: 162s http://docs.translatehouse.org/projects/translate- 162s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 162s 162s Options: 162s --version show program's version number and exit 162s -h, --help show this help message and exit 162s --manpage output a manpage based on the help 162s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 162s --errorlevel=ERRORLEVEL 162s show errorlevel as: none, message, exception, 162s traceback 162s -i INPUT, --input=INPUT 162s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 162s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 162s formats 162s -x EXCLUDE, --exclude=EXCLUDE 162s exclude names matching EXCLUDE from input paths 162s -o OUTPUT, --output=OUTPUT 162s write to OUTPUT in xlf, xliff formats 162s -S, --timestamp skip conversion if the output file has newer timestamp 163s ========= SMOKE TEST: /usr/bin/oo2po =========== 163s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 163s 163s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 163s files. See: http://docs.translatehouse.org/projects/translate- 163s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 163s 163s Options: 163s --version show program's version number and exit 163s -h, --help show this help message and exit 163s --manpage output a manpage based on the help 163s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 163s --errorlevel=ERRORLEVEL 163s show errorlevel as: none, message, exception, 163s traceback 163s -i INPUT, --input=INPUT 163s read from INPUT in oo, sdf formats 163s -x EXCLUDE, --exclude=EXCLUDE 163s exclude names matching EXCLUDE from input paths 163s -o OUTPUT, --output=OUTPUT 163s write to OUTPUT in po, pot formats 163s -S, --timestamp skip conversion if the output file has newer timestamp 163s -P, --pot output PO Templates (.pot) rather than PO files (.po) 163s -l LANG, --language=LANG 163s set target language to extract from oo file (e.g. af- 163s ZA) 163s --source-language=LANG 163s set source language code (default en-US) 163s --nonrecursiveinput don't treat the input oo as a recursive store 163s --duplicates=DUPLICATESTYLE 163s what to do with duplicate strings (identical source 163s text): merge, msgctxt (default: 'msgctxt') 163s --multifile=MULTIFILESTYLE 163s how to split po/pot files (single, toplevel or 163s onefile) 163s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 163s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 163s 163s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 163s files. See: http://docs.translatehouse.org/projects/translate- 163s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 163s 163s Options: 163s --version show program's version number and exit 163s -h, --help show this help message and exit 163s --manpage output a manpage based on the help 163s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 163s --errorlevel=ERRORLEVEL 163s show errorlevel as: none, message, exception, 163s traceback 163s -i INPUT, --input=INPUT 163s read from INPUT in oo, sdf formats 163s -x EXCLUDE, --exclude=EXCLUDE 163s exclude names matching EXCLUDE from input paths 163s -o OUTPUT, --output=OUTPUT 163s write to OUTPUT in xlf, xliff formats 163s -S, --timestamp skip conversion if the output file has newer timestamp 163s -l LANG, --language=LANG 163s set target language to extract from oo file (e.g. af- 163s ZA) 163s --source-language=LANG 163s set source language code (default en-US) 163s --nonrecursiveinput don't treat the input oo as a recursive store 163s --duplicates=DUPLICATESTYLE 163s what to do with duplicate strings (identical source 163s text): merge, msgctxt (default: 'msgctxt') 163s --multifile=MULTIFILESTYLE 163s how to split po/pot files (single, toplevel or 163s onefile) 163s ========= SMOKE TEST: /usr/bin/php2po =========== 164s 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] 164s 164s Convert PHP localization files to Gettext PO localization files. See: 164s http://docs.translatehouse.org/projects/translate- 164s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 164s 164s Options: 164s --version show program's version number and exit 164s -h, --help show this help message and exit 164s --manpage output a manpage based on the help 164s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 164s --errorlevel=ERRORLEVEL 164s show errorlevel as: none, message, exception, 164s traceback 164s -i INPUT, --input=INPUT 164s read from INPUT in html, php formats 164s -x EXCLUDE, --exclude=EXCLUDE 164s exclude names matching EXCLUDE from input paths 164s -o OUTPUT, --output=OUTPUT 164s write to OUTPUT in po, pot formats 164s -t TEMPLATE, --template=TEMPLATE 164s read from TEMPLATE in html, php formats 164s -S, --timestamp skip conversion if the output file has newer timestamp 164s -P, --pot output PO Templates (.pot) rather than PO files (.po) 164s --duplicates=DUPLICATESTYLE 164s what to do with duplicate strings (identical source 164s text): merge, msgctxt (default: 'msgctxt') 164s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 164s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 164s 164s Convert PHP format .po files to Python format .po files. 164s 164s Options: 164s --version show program's version number and exit 164s -h, --help show this help message and exit 164s --manpage output a manpage based on the help 164s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 164s --errorlevel=ERRORLEVEL 164s show errorlevel as: none, message, exception, 164s traceback 164s -i INPUT, --input=INPUT 164s read from INPUT in po, pot formats 164s -x EXCLUDE, --exclude=EXCLUDE 164s exclude names matching EXCLUDE from input paths 164s -o OUTPUT, --output=OUTPUT 164s write to OUTPUT in po, pot formats 164s -S, --timestamp skip conversion if the output file has newer timestamp 164s ========= SMOKE TEST: /usr/bin/po2csv =========== 164s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 164s 164s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 164s See: http://docs.translatehouse.org/projects/translate- 164s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 164s 164s Options: 164s --version show program's version number and exit 164s -h, --help show this help message and exit 164s --manpage output a manpage based on the help 164s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 164s --errorlevel=ERRORLEVEL 164s show errorlevel as: none, message, exception, 164s traceback 164s -i INPUT, --input=INPUT 164s read from INPUT in po, pot formats 164s -x EXCLUDE, --exclude=EXCLUDE 164s exclude names matching EXCLUDE from input paths 164s -o OUTPUT, --output=OUTPUT 164s write to OUTPUT in csv format 164s -S, --timestamp skip conversion if the output file has newer timestamp 164s --columnorder=COLUMNORDER 164s specify the order and position of columns 164s (location,source,target,context) 164s ========= SMOKE TEST: /usr/bin/po2dtd =========== 164s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 164s 164s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 164s Conversion is either done using a template plus PO file or just using the 164s .po file. 164s 164s Options: 164s --version show program's version number and exit 164s -h, --help show this help message and exit 164s --manpage output a manpage based on the help 164s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 164s --errorlevel=ERRORLEVEL 164s show errorlevel as: none, message, exception, 164s traceback 164s -i INPUT, --input=INPUT 164s read from INPUT in po, pot formats 164s -x EXCLUDE, --exclude=EXCLUDE 164s exclude names matching EXCLUDE from input paths 164s -o OUTPUT, --output=OUTPUT 164s write to OUTPUT in dtd format 164s -t TEMPLATE, --template=TEMPLATE 164s read from TEMPLATE in dtd format 164s -S, --timestamp skip conversion if the output file has newer timestamp 164s --threshold=PERCENT only convert files where the translation completion is 164s above PERCENT 164s --fuzzy use translations marked fuzzy 164s --nofuzzy don't use translations marked fuzzy (default) 164s --removeuntranslated remove untranslated strings from output 165s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 165s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 165s 165s Convert Gettext PO localization files to flat XML files. See: 165s http://docs.translatehouse.org/projects/translate- 165s toolkit/en/latest/commands/flatxml2po.html for examples and usage 165s instructions. 165s 165s Options: 165s --version show program's version number and exit 165s -h, --help show this help message and exit 165s --manpage output a manpage based on the help 165s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 165s --errorlevel=ERRORLEVEL 165s show errorlevel as: none, message, exception, 165s traceback 165s -i INPUT, --input=INPUT 165s read from INPUT in po, pot formats 165s -x EXCLUDE, --exclude=EXCLUDE 165s exclude names matching EXCLUDE from input paths 165s -o OUTPUT, --output=OUTPUT 165s write to OUTPUT in xml format 165s -t TEMPLATE, --template=TEMPLATE 165s read from TEMPLATE in xml format 165s -S, --timestamp skip conversion if the output file has newer timestamp 165s -r ROOT, --root=ROOT name of the XML root element (default: "root") 165s -v VALUE, --value=VALUE 165s name of the XML value element (default: "str") 165s -k KEY, --key=KEY name of the XML key attribute (default: "key") 165s -n NS, --namespace=NS 165s XML namespace uri (default: None) 165s -w INDENT, --indent=INDENT 165s indent width in spaces, 0 for no indent (default: 2) 165s ========= SMOKE TEST: /usr/bin/po2html =========== 165s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 165s 165s Translate HTML files using Gettext PO localization files. See: 165s http://docs.translatehouse.org/projects/translate- 165s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 165s 165s Options: 165s --version show program's version number and exit 165s -h, --help show this help message and exit 165s --manpage output a manpage based on the help 165s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 165s --errorlevel=ERRORLEVEL 165s show errorlevel as: none, message, exception, 165s traceback 165s -i INPUT, --input=INPUT 165s read from INPUT in po, pot formats 165s -x EXCLUDE, --exclude=EXCLUDE 165s exclude names matching EXCLUDE from input paths 165s -o OUTPUT, --output=OUTPUT 165s write to OUTPUT in htm, html, xhtml formats 165s -t TEMPLATE, --template=TEMPLATE 165s read from TEMPLATE in htm, html, xhtml formats 165s -S, --timestamp skip conversion if the output file has newer timestamp 165s --threshold=PERCENT only convert files where the translation completion is 165s above PERCENT 165s --fuzzy use translations marked fuzzy 165s --nofuzzy don't use translations marked fuzzy (default) 165s ========= SMOKE TEST: /usr/bin/po2ical =========== 166s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 166s 166s Convert Gettext PO localization files to iCalendar files. See: 166s http://docs.translatehouse.org/projects/translate- 166s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 166s 166s Options: 166s --version show program's version number and exit 166s -h, --help show this help message and exit 166s --manpage output a manpage based on the help 166s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 166s --errorlevel=ERRORLEVEL 166s show errorlevel as: none, message, exception, 166s traceback 166s -i INPUT, --input=INPUT 166s read from INPUT in po, pot formats 166s -x EXCLUDE, --exclude=EXCLUDE 166s exclude names matching EXCLUDE from input paths 166s -o OUTPUT, --output=OUTPUT 166s write to OUTPUT in ics format 166s -t TEMPLATE, --template=TEMPLATE 166s read from TEMPLATE in ics format 166s -S, --timestamp skip conversion if the output file has newer timestamp 166s --threshold=PERCENT only convert files where the translation completion is 166s above PERCENT 166s --fuzzy use translations marked fuzzy 166s --nofuzzy don't use translations marked fuzzy (default) 166s ========= SMOKE TEST: /usr/bin/po2idml =========== 166s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 166s 166s Takes an IDML template file and a PO file containing translations of strings 166s in the IDML template. It creates a new IDML file using the translations of the 166s PO file. 166s 166s Options: 166s --version show program's version number and exit 166s -h, --help show this help message and exit 166s --manpage output a manpage based on the help 166s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 166s --errorlevel=ERRORLEVEL 166s show errorlevel as: none, message, exception, 166s traceback 166s -i INPUT, --input=INPUT 166s read from INPUT in po, pot formats 166s -x EXCLUDE, --exclude=EXCLUDE 166s exclude names matching EXCLUDE from input paths 166s -o OUTPUT, --output=OUTPUT 166s write to OUTPUT in idml format 166s -t TEMPLATE, --template=TEMPLATE 166s read from TEMPLATE in idml format 166s -S, --timestamp skip conversion if the output file has newer timestamp 166s ========= SMOKE TEST: /usr/bin/po2ini =========== 166s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 166s 166s Convert Gettext PO localization files to .ini files. See: 166s http://docs.translatehouse.org/projects/translate- 166s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 166s 166s Options: 166s --version show program's version number and exit 166s -h, --help show this help message and exit 166s --manpage output a manpage based on the help 166s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 166s --errorlevel=ERRORLEVEL 166s show errorlevel as: none, message, exception, 166s traceback 166s -i INPUT, --input=INPUT 166s read from INPUT in po, pot formats 166s -x EXCLUDE, --exclude=EXCLUDE 166s exclude names matching EXCLUDE from input paths 166s -o OUTPUT, --output=OUTPUT 166s write to OUTPUT in ini, isl formats 166s -t TEMPLATE, --template=TEMPLATE 166s read from TEMPLATE in ini, isl formats 166s -S, --timestamp skip conversion if the output file has newer timestamp 166s --threshold=PERCENT only convert files where the translation completion is 166s above PERCENT 166s --fuzzy use translations marked fuzzy 166s --nofuzzy don't use translations marked fuzzy (default) 166s ========= SMOKE TEST: /usr/bin/po2json =========== 167s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 167s 167s Convert Gettext PO localization files to JSON files. See: 167s http://docs.translatehouse.org/projects/translate- 167s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 167s 167s Options: 167s --version show program's version number and exit 167s -h, --help show this help message and exit 167s --manpage output a manpage based on the help 167s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 167s --errorlevel=ERRORLEVEL 167s show errorlevel as: none, message, exception, 167s traceback 167s -i INPUT, --input=INPUT 167s read from INPUT in po, pot formats 167s -x EXCLUDE, --exclude=EXCLUDE 167s exclude names matching EXCLUDE from input paths 167s -o OUTPUT, --output=OUTPUT 167s write to OUTPUT in json format 167s -t TEMPLATE, --template=TEMPLATE 167s read from TEMPLATE in json format 167s -S, --timestamp skip conversion if the output file has newer timestamp 167s --threshold=PERCENT only convert files where the translation completion is 167s above PERCENT 167s --fuzzy use translations marked fuzzy 167s --nofuzzy don't use translations marked fuzzy (default) 167s --removeuntranslated remove untranslated strings from output 167s ========= SMOKE TEST: /usr/bin/po2md =========== 167s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 167s 167s Translate Markdown files using Gettext PO localization files. See: 167s http://docs.translatehouse.org/projects/translate- 167s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 167s 167s Options: 167s --version show program's version number and exit 167s -h, --help show this help message and exit 167s --manpage output a manpage based on the help 167s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 167s --errorlevel=ERRORLEVEL 167s show errorlevel as: none, message, exception, 167s traceback 167s -i INPUT, --input=INPUT 167s read from INPUT in po, pot formats 167s -x EXCLUDE, --exclude=EXCLUDE 167s exclude names matching EXCLUDE from input paths 167s -o OUTPUT, --output=OUTPUT 167s write to OUTPUT in markdown, md, text, txt formats 167s -t TEMPLATE, --template=TEMPLATE 167s read from TEMPLATE in markdown, md, text, txt formats 167s -S, --timestamp skip conversion if the output file has newer timestamp 167s -m MAXLENGTH, --maxlinelength=MAXLENGTH 167s reflow (word wrap) the output to the given maximum 167s line length. set to 0 to disable 167s --threshold=PERCENT only convert files where the translation completion is 167s above PERCENT 167s --fuzzy use translations marked fuzzy 167s --nofuzzy don't use translations marked fuzzy (default) 168s ========= SMOKE TEST: /usr/bin/po2moz =========== 168s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 168s 168s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 168s See: http://docs.translatehouse.org/projects/translate- 168s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 168s 168s Options: 168s --version show program's version number and exit 168s -h, --help show this help message and exit 168s --manpage output a manpage based on the help 168s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 168s --errorlevel=ERRORLEVEL 168s show errorlevel as: none, message, exception, 168s traceback 168s -i INPUT, --input=INPUT 168s read from INPUT in *, dtd.po, dtd.pot, inc.po, 168s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 168s lang.pot, manifest, properties.po, properties.pot, rdf 168s formats 168s -x EXCLUDE, --exclude=EXCLUDE 168s exclude names matching EXCLUDE from input paths 168s -o OUTPUT, --output=OUTPUT 168s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 168s manifest, properties, rdf formats 168s -t TEMPLATE, --template=TEMPLATE 168s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 168s manifest, properties, rdf formats 168s -S, --timestamp skip conversion if the output file has newer timestamp 168s -l LOCALE, --locale=LOCALE 168s set output locale (required as this sets the directory 168s names) 168s --threshold=PERCENT only convert files where the translation completion is 168s above PERCENT 168s --fuzzy use translations marked fuzzy 168s --nofuzzy don't use translations marked fuzzy (default) 168s --removeuntranslated remove untranslated strings from output 168s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 168s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 168s 168s Convert Gettext PO localization files to Mozilla .lang files. 168s 168s Options: 168s --version show program's version number and exit 168s -h, --help show this help message and exit 168s --manpage output a manpage based on the help 168s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 168s --errorlevel=ERRORLEVEL 168s show errorlevel as: none, message, exception, 168s traceback 168s -i INPUT, --input=INPUT 168s read from INPUT in po, pot formats 168s -x EXCLUDE, --exclude=EXCLUDE 168s exclude names matching EXCLUDE from input paths 168s -o OUTPUT, --output=OUTPUT 168s write to OUTPUT in lang format 168s -t TEMPLATE, --template=TEMPLATE 168s read from TEMPLATE in lang format 168s -S, --timestamp skip conversion if the output file has newer timestamp 168s --mark-active mark the file as active 168s --threshold=PERCENT only convert files where the translation completion is 168s above PERCENT 168s --fuzzy use translations marked fuzzy 168s --nofuzzy don't use translations marked fuzzy (default) 168s ========= SMOKE TEST: /usr/bin/po2oo =========== 168s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 168s 168s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 168s file. See: http://docs.translatehouse.org/projects/translate- 168s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 168s 168s Options: 168s --version show program's version number and exit 168s -h, --help show this help message and exit 168s --manpage output a manpage based on the help 168s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 168s --errorlevel=ERRORLEVEL 168s show errorlevel as: none, message, exception, 168s traceback 168s -i INPUT, --input=INPUT 168s read from INPUT in po, pot, xlf, xliff formats 168s -x EXCLUDE, --exclude=EXCLUDE 168s exclude names matching EXCLUDE from input paths 168s -o OUTPUT, --output=OUTPUT 168s write to OUTPUT in oo, sdf formats 168s -t TEMPLATE, --template=TEMPLATE 168s read from TEMPLATE in oo, sdf formats 168s -S, --timestamp skip conversion if the output file has newer timestamp 168s -l LANG, --language=LANG 168s set target language code (e.g. af-ZA) [required] 168s --source-language=LANG 168s set source language code (default en-US) 168s -T, --keeptimestamp don't change the timestamps of the strings 168s --nonrecursiveoutput don't treat the output oo as a recursive store 168s --nonrecursivetemplate 168s don't treat the template oo as a recursive store 168s --skipsource don't output the source language, but fallback to it 168s where needed 168s --filteraction=ACTION 168s action on pofilter failure: none (default), warn, 168s exclude-serious, exclude-all 168s --threshold=PERCENT only convert files where the translation completion is 168s above PERCENT 168s --fuzzy use translations marked fuzzy 168s --nofuzzy don't use translations marked fuzzy (default) 168s --multifile=MULTIFILESTYLE 168s how to split po/pot files (single, toplevel or 168s onefile) 168s ========= SMOKE TEST: /usr/bin/po2php =========== 169s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 169s 169s Convert Gettext PO localization files to PHP localization files. See: 169s http://docs.translatehouse.org/projects/translate- 169s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 169s 169s Options: 169s --version show program's version number and exit 169s -h, --help show this help message and exit 169s --manpage output a manpage based on the help 169s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 169s --errorlevel=ERRORLEVEL 169s show errorlevel as: none, message, exception, 169s traceback 169s -i INPUT, --input=INPUT 169s read from INPUT in po, pot formats 169s -x EXCLUDE, --exclude=EXCLUDE 169s exclude names matching EXCLUDE from input paths 169s -o OUTPUT, --output=OUTPUT 169s write to OUTPUT in html, php formats 169s -t TEMPLATE, --template=TEMPLATE 169s read from TEMPLATE in html, php formats 169s -S, --timestamp skip conversion if the output file has newer timestamp 169s --threshold=PERCENT only convert files where the translation completion is 169s above PERCENT 169s --fuzzy use translations marked fuzzy 169s --nofuzzy don't use translations marked fuzzy (default) 169s ========= SMOKE TEST: /usr/bin/po2prop =========== 169s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 169s 169s Convert Gettext PO localization files to Java/Mozilla .properties files. 169s See: http://docs.translatehouse.org/projects/translate- 169s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 169s 169s Options: 169s --version show program's version number and exit 169s -h, --help show this help message and exit 169s --manpage output a manpage based on the help 169s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 169s --errorlevel=ERRORLEVEL 169s show errorlevel as: none, message, exception, 169s traceback 169s -i INPUT, --input=INPUT 169s read from INPUT in po, pot formats 169s -x EXCLUDE, --exclude=EXCLUDE 169s exclude names matching EXCLUDE from input paths 169s -o OUTPUT, --output=OUTPUT 169s write to OUTPUT in lang, properties, strings formats 169s -t TEMPLATE, --template=TEMPLATE 169s read from TEMPLATE in lang, properties, strings 169s formats 169s -S, --timestamp skip conversion if the output file has newer timestamp 169s --personality=TYPE override the input file format: java, java-utf8, java- 169s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 169s strings, strings-utf8, joomla (for .properties files, 169s default: java) 169s --encoding=ENCODING override the encoding set by the personality 169s --threshold=PERCENT only convert files where the translation completion is 169s above PERCENT 169s --fuzzy use translations marked fuzzy 169s --nofuzzy don't use translations marked fuzzy (default) 169s --removeuntranslated remove untranslated strings from output 169s ========= SMOKE TEST: /usr/bin/po2rc =========== 169s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 169s 169s Convert Gettext PO localization files back to Windows Resource (.rc) files. 169s See: http://docs.translatehouse.org/projects/translate- 169s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 169s 169s Options: 169s --version show program's version number and exit 169s -h, --help show this help message and exit 169s --manpage output a manpage based on the help 169s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 169s --errorlevel=ERRORLEVEL 169s show errorlevel as: none, message, exception, 169s traceback 169s -i INPUT, --input=INPUT 169s read from INPUT in po, pot formats 169s -x EXCLUDE, --exclude=EXCLUDE 169s exclude names matching EXCLUDE from input paths 169s -o OUTPUT, --output=OUTPUT 169s write to OUTPUT in rc format 169s -t TEMPLATE, --template=TEMPLATE 169s read from TEMPLATE in rc format 169s -S, --timestamp skip conversion if the output file has newer timestamp 169s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 169s -l LANG, --lang=LANG LANG entry 169s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 169s --threshold=PERCENT only convert files where the translation completion is 169s above PERCENT 169s --fuzzy use translations marked fuzzy 169s --nofuzzy don't use translations marked fuzzy (default) 170s ========= SMOKE TEST: /usr/bin/po2resx =========== 170s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 170s 170s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 170s http://docs.translatehouse.org/projects/translate- 170s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 170s 170s Options: 170s --version show program's version number and exit 170s -h, --help show this help message and exit 170s --manpage output a manpage based on the help 170s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 170s --errorlevel=ERRORLEVEL 170s show errorlevel as: none, message, exception, 170s traceback 170s -i INPUT, --input=INPUT 170s read from INPUT in po, pot formats 170s -x EXCLUDE, --exclude=EXCLUDE 170s exclude names matching EXCLUDE from input paths 170s -o OUTPUT, --output=OUTPUT 170s write to OUTPUT in resx format 170s -t TEMPLATE, --template=TEMPLATE 170s read from TEMPLATE in resx format 170s -S, --timestamp skip conversion if the output file has newer timestamp 170s --fuzzy use translations marked fuzzy 170s --nofuzzy don't use translations marked fuzzy (default) 170s ========= SMOKE TEST: /usr/bin/po2sub =========== 170s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 170s 170s Convert Gettext PO localization files to subtitle files. See: 170s http://docs.translatehouse.org/projects/translate- 170s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 170s 170s Options: 170s --version show program's version number and exit 170s -h, --help show this help message and exit 170s --manpage output a manpage based on the help 170s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 170s --errorlevel=ERRORLEVEL 170s show errorlevel as: none, message, exception, 170s traceback 170s -i INPUT, --input=INPUT 170s read from INPUT in po, pot formats 170s -x EXCLUDE, --exclude=EXCLUDE 170s exclude names matching EXCLUDE from input paths 170s -o OUTPUT, --output=OUTPUT 170s write to OUTPUT in ass, srt, ssa, sub formats 170s -t TEMPLATE, --template=TEMPLATE 170s read from TEMPLATE in ass, srt, ssa, sub formats 170s -S, --timestamp skip conversion if the output file has newer timestamp 170s --threshold=PERCENT only convert files where the translation completion is 170s above PERCENT 170s --fuzzy use translations marked fuzzy 170s --nofuzzy don't use translations marked fuzzy (default) 170s ========= SMOKE TEST: /usr/bin/po2symb =========== 170s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 170s 170s Convert Gettext PO localization files to Symbian translation files. See: 170s http://docs.translatehouse.org/projects/translate- 170s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 170s 170s Options: 170s --version show program's version number and exit 170s -h, --help show this help message and exit 170s --manpage output a manpage based on the help 170s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 170s --errorlevel=ERRORLEVEL 170s show errorlevel as: none, message, exception, 170s traceback 170s -i INPUT, --input=INPUT 170s read from INPUT in po, pot formats 170s -x EXCLUDE, --exclude=EXCLUDE 170s exclude names matching EXCLUDE from input paths 170s -o OUTPUT, --output=OUTPUT 170s write to OUTPUT in r0 format 170s -t TEMPLATE, --template=TEMPLATE 170s read from TEMPLATE in 170s -S, --timestamp skip conversion if the output file has newer timestamp 170s --duplicates=DUPLICATESTYLE 170s what to do with duplicate strings (identical source 170s text): merge, msgctxt (default: 'msgctxt') 171s ========= SMOKE TEST: /usr/bin/po2tiki =========== 171s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 171s 171s Convert Gettext PO files to TikiWiki's language.php files. See: 171s http://docs.translatehouse.org/projects/translate- 171s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 171s 171s Options: 171s --version show program's version number and exit 171s -h, --help show this help message and exit 171s --manpage output a manpage based on the help 171s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 171s --errorlevel=ERRORLEVEL 171s show errorlevel as: none, message, exception, 171s traceback 171s -i INPUT, --input=INPUT 171s read from INPUT in po, pot formats 171s -x EXCLUDE, --exclude=EXCLUDE 171s exclude names matching EXCLUDE from input paths 171s -o OUTPUT, --output=OUTPUT 171s write to OUTPUT in tiki format 171s -S, --timestamp skip conversion if the output file has newer timestamp 171s ========= SMOKE TEST: /usr/bin/po2tmx =========== 171s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 171s 171s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 171s file. See: http://docs.translatehouse.org/projects/translate- 171s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 171s 171s Options: 171s --version show program's version number and exit 171s -h, --help show this help message and exit 171s --manpage output a manpage based on the help 171s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 171s --errorlevel=ERRORLEVEL 171s show errorlevel as: none, message, exception, 171s traceback 171s -i INPUT, --input=INPUT 171s read from INPUT in po, pot formats 171s -x EXCLUDE, --exclude=EXCLUDE 171s exclude names matching EXCLUDE from input paths 171s -o OUTPUT, --output=OUTPUT 171s write to OUTPUT in tmx format 171s -S, --timestamp skip conversion if the output file has newer timestamp 171s -l LANG, --language=LANG 171s set target language code (e.g. af-ZA) [required] 171s --source-language=LANG 171s set source language code (default: en) 171s --comments=COMMENT set default comment import: none, source, type or 171s others (default: none) 171s ========= SMOKE TEST: /usr/bin/po2ts =========== 171s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 171s 171s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 171s http://docs.translatehouse.org/projects/translate- 171s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 171s 171s Options: 171s --version show program's version number and exit 171s -h, --help show this help message and exit 171s --manpage output a manpage based on the help 171s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 171s --errorlevel=ERRORLEVEL 171s show errorlevel as: none, message, exception, 171s traceback 171s -i INPUT, --input=INPUT 171s read from INPUT in po, pot formats 171s -x EXCLUDE, --exclude=EXCLUDE 171s exclude names matching EXCLUDE from input paths 171s -o OUTPUT, --output=OUTPUT 171s write to OUTPUT in ts format 171s -t TEMPLATE, --template=TEMPLATE 171s read from TEMPLATE in ts format 171s -S, --timestamp skip conversion if the output file has newer timestamp 171s -c CONTEXT, --context=CONTEXT 171s use supplied context instead of the one in the .po 171s file comment 171s ========= SMOKE TEST: /usr/bin/po2txt =========== 171s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 171s 171s Convert Gettext PO localization files to plain text (.txt) files. See: 171s http://docs.translatehouse.org/projects/translate- 171s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 171s 171s Options: 171s --version show program's version number and exit 171s -h, --help show this help message and exit 171s --manpage output a manpage based on the help 171s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 171s --errorlevel=ERRORLEVEL 171s show errorlevel as: none, message, exception, 171s traceback 171s -i INPUT, --input=INPUT 171s read from INPUT in po, pot, xlf, xliff formats 171s -x EXCLUDE, --exclude=EXCLUDE 171s exclude names matching EXCLUDE from input paths 171s -o OUTPUT, --output=OUTPUT 171s write to OUTPUT in txt format 171s -t TEMPLATE, --template=TEMPLATE 171s read from TEMPLATE in txt format 171s -S, --timestamp skip conversion if the output file has newer timestamp 171s --encoding=ENCODING The encoding of the template file (default: UTF-8) 171s -w WRAP, --wrap=WRAP set number of columns to wrap text at 171s --threshold=PERCENT only convert files where the translation completion is 171s above PERCENT 171s --fuzzy use translations marked fuzzy 171s --nofuzzy don't use translations marked fuzzy (default) 172s ========= SMOKE TEST: /usr/bin/po2web2py =========== 172s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 172s 172s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 172s http://docs.translatehouse.org/projects/translate- 172s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 172s 172s Options: 172s --version show program's version number and exit 172s -h, --help show this help message and exit 172s --manpage output a manpage based on the help 172s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 172s --errorlevel=ERRORLEVEL 172s show errorlevel as: none, message, exception, 172s traceback 172s -i INPUT, --input=INPUT 172s read from INPUT in po, pot formats 172s -x EXCLUDE, --exclude=EXCLUDE 172s exclude names matching EXCLUDE from input paths 172s -o OUTPUT, --output=OUTPUT 172s write to OUTPUT in py format 172s -S, --timestamp skip conversion if the output file has newer timestamp 172s --threshold=PERCENT only convert files where the translation completion is 172s above PERCENT 172s --fuzzy use translations marked fuzzy 172s --nofuzzy don't use translations marked fuzzy (default) 172s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 172s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 172s 172s Convert Gettext PO localization files to a Wordfast translation memory file. 172s See: http://docs.translatehouse.org/projects/translate- 172s toolkit/en/latest/commands/po2wordfast.html for examples and usage 172s instructions. 172s 172s Options: 172s --version show program's version number and exit 172s -h, --help show this help message and exit 172s --manpage output a manpage based on the help 172s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 172s --errorlevel=ERRORLEVEL 172s show errorlevel as: none, message, exception, 172s traceback 172s -i INPUT, --input=INPUT 172s read from INPUT in po, pot formats 172s -x EXCLUDE, --exclude=EXCLUDE 172s exclude names matching EXCLUDE from input paths 172s -o OUTPUT, --output=OUTPUT 172s write to OUTPUT in txt format 172s -S, --timestamp skip conversion if the output file has newer timestamp 172s -l LANG, --language=LANG 172s set target language code (e.g. af-ZA) [required] 172s --source-language=LANG 172s set source language code (default: en) 172s ========= SMOKE TEST: /usr/bin/po2xliff =========== 172s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 172s 172s Convert Gettext PO localization files to XLIFF localization files. See: 172s http://docs.translatehouse.org/projects/translate- 172s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 172s 172s Options: 172s --version show program's version number and exit 172s -h, --help show this help message and exit 172s --manpage output a manpage based on the help 172s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 172s --errorlevel=ERRORLEVEL 172s show errorlevel as: none, message, exception, 172s traceback 172s -i INPUT, --input=INPUT 172s read from INPUT in po, pot formats 172s -x EXCLUDE, --exclude=EXCLUDE 172s exclude names matching EXCLUDE from input paths 172s -o OUTPUT, --output=OUTPUT 172s write to OUTPUT in xlf, xliff formats 172s -t TEMPLATE, --template=TEMPLATE 172s read from TEMPLATE in xlf, xliff formats 172s -S, --timestamp skip conversion if the output file has newer timestamp 172s ========= SMOKE TEST: /usr/bin/po2yaml =========== 172s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 172s 172s Convert Gettext PO localization files to YAML files. See: 172s http://docs.translatehouse.org/projects/translate- 172s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 172s 172s Options: 172s --version show program's version number and exit 172s -h, --help show this help message and exit 172s --manpage output a manpage based on the help 172s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 172s --errorlevel=ERRORLEVEL 172s show errorlevel as: none, message, exception, 172s traceback 172s -i INPUT, --input=INPUT 172s read from INPUT in po, pot formats 172s -x EXCLUDE, --exclude=EXCLUDE 172s exclude names matching EXCLUDE from input paths 172s -o OUTPUT, --output=OUTPUT 172s write to OUTPUT in yaml, yml formats 172s -t TEMPLATE, --template=TEMPLATE 172s read from TEMPLATE in yaml, yml formats 172s -S, --timestamp skip conversion if the output file has newer timestamp 172s --threshold=PERCENT only convert files where the translation completion is 172s above PERCENT 172s --fuzzy use translations marked fuzzy 172s --nofuzzy don't use translations marked fuzzy (default) 172s ========= SMOKE TEST: /usr/bin/poclean =========== 172s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 172s 172s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 172s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 172s produces the target file with only the target text in from a text version of 172s the RTF. 172s 172s Options: 172s --version show program's version number and exit 172s -h, --help show this help message and exit 172s --manpage output a manpage based on the help 172s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 172s --errorlevel=ERRORLEVEL 172s show errorlevel as: none, message, exception, 172s traceback 172s -i INPUT, --input=INPUT 172s read from INPUT in po, pot, xlf, xliff formats 172s -x EXCLUDE, --exclude=EXCLUDE 172s exclude names matching EXCLUDE from input paths 172s -o OUTPUT, --output=OUTPUT 172s write to OUTPUT in po, pot, xlf, xliff formats 172s -S, --timestamp skip conversion if the output file has newer timestamp 173s ========= SMOKE TEST: /usr/bin/pocompendium =========== 173s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 173s The first parameter is the output file, standard output if the output file is '-'. 173s Any number of directories may be specified for input files. 173s Options: 173s --invert|v Creates an inverse compendium with msgid and msgstr swapped 173s --errors|e Only ouput msg bundles that have errors 173s --correct|c Only ouput msg bundles that are correctly translated 173s --ignore-case|i Drops all strings to lowercase 173s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 173s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 173s --strip-accel-under|-su Strip all underscore (_) accelerator characters 173s ========= SMOKE TEST: /usr/bin/pocompile =========== 173s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 173s 173s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 173s Object) files. See: http://docs.translatehouse.org/projects/translate- 173s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 173s 173s Options: 173s --version show program's version number and exit 173s -h, --help show this help message and exit 173s --manpage output a manpage based on the help 173s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 173s --errorlevel=ERRORLEVEL 173s show errorlevel as: none, message, exception, 173s traceback 173s -i INPUT, --input=INPUT 173s read from INPUT in po, pot, xlf, xliff formats 173s -x EXCLUDE, --exclude=EXCLUDE 173s exclude names matching EXCLUDE from input paths 173s -o OUTPUT, --output=OUTPUT 173s write to OUTPUT in mo format 173s -S, --timestamp skip conversion if the output file has newer timestamp 173s --fuzzy use translations marked fuzzy 173s --nofuzzy don't use translations marked fuzzy (default) 173s ========= SMOKE TEST: /usr/bin/poconflicts =========== 173s 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] 173s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 173s 173s Conflict finder for Gettext PO localization files. See: 173s http://docs.translatehouse.org/projects/translate- 173s toolkit/en/latest/commands/poconflicts.html for examples and usage 173s instructions. 173s 173s Options: 173s --version show program's version number and exit 173s -h, --help show this help message and exit 173s --manpage output a manpage based on the help 173s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 173s --errorlevel=ERRORLEVEL 173s show errorlevel as: none, message, exception, 173s traceback 173s -i INPUT, --input=INPUT 173s read from INPUT in po format 173s -x EXCLUDE, --exclude=EXCLUDE 173s exclude names matching EXCLUDE from input paths 173s -o OUTPUT, --output=OUTPUT 173s write to OUTPUT in po format 173s -I, --ignore-case ignore case distinctions 173s -v, --invert invert the conflicts thus extracting conflicting 173s destination words 173s --accelerator=ACCELERATORS 173s ignores the given accelerator characters when matching 173s ========= SMOKE TEST: /usr/bin/pocount =========== 173s usage: pocount [-h] [--incomplete] 173s [--full | --csv | --short | --short-strings | --short-words] 173s [--no-color] 173s files [files ...] 173s 173s positional arguments: 173s files 173s 173s options: 173s -h, --help show this help message and exit 173s --incomplete skip 100% translated files. 173s 173s Output format: 173s --full (default) statistics in full, verbose format 173s --csv statistics in CSV format 173s --short same as --short-strings 173s --short-strings statistics of strings in short format - one line per file 173s --short-words statistics of words in short format - one line per file 173s --no-color show output without color 173s ========= SMOKE TEST: /usr/bin/podebug =========== 173s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 173s 173s Insert debug messages into XLIFF and Gettext PO localization files. See: 173s http://docs.translatehouse.org/projects/translate- 173s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 173s 173s Options: 173s --version show program's version number and exit 173s -h, --help show this help message and exit 173s --manpage output a manpage based on the help 173s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 173s --errorlevel=ERRORLEVEL 173s show errorlevel as: none, message, exception, 173s traceback 173s -i INPUT, --input=INPUT 173s read from INPUT in po, pot, pot, tmx, xlf, xliff 173s formats 173s -x EXCLUDE, --exclude=EXCLUDE 173s exclude names matching EXCLUDE from input paths 173s -o OUTPUT, --output=OUTPUT 173s write to OUTPUT in po, pot, tmx, xlf, xliff formats 173s -S, --timestamp skip conversion if the output file has newer timestamp 173s -f FORMAT, --format=FORMAT 173s specify format string 173s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 173s classified, en, flipped, unicode, xxx 173s --ignore=APPLICATION apply tagging ignore rules for the given application: 173s gtk, kde, libreoffice, mozilla, openoffice 173s --preserveplaceholders 173s attempt to exclude characters that are part of 173s placeholders when performing character-level rewrites 173s so that consuming applications can still use the 173s placeholders to generate final output 173s ========= SMOKE TEST: /usr/bin/pofilter =========== 173s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 173s 173s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 173s Snippet files are created whenever a test fails. These can be examined, 173s corrected and merged back into the originals using pomerge. See: 173s http://docs.translatehouse.org/projects/translate- 173s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 173s and http://docs.translatehouse.org/projects/translate- 173s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 173s tests. 173s 173s Options: 173s --version show program's version number and exit 173s -h, --help show this help message and exit 173s --manpage output a manpage based on the help 173s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 173s --errorlevel=ERRORLEVEL 173s show errorlevel as: none, message, exception, 173s traceback 173s -i INPUT, --input=INPUT 173s read from INPUT in po, pot, tmx, xlf, xliff formats 173s -x EXCLUDE, --exclude=EXCLUDE 173s exclude names matching EXCLUDE from input paths 173s -o OUTPUT, --output=OUTPUT 173s write to OUTPUT in po, pot, tmx, xlf, xliff formats 173s -l, --listfilters list filters available 173s --review include units marked for review (default) 173s --noreview exclude units marked for review 173s --fuzzy include units marked fuzzy (default) 173s --nofuzzy exclude units marked fuzzy 173s --nonotes don't add notes about the errors 173s --autocorrect output automatic corrections where possible rather 173s than describing issues 173s --language=LANG set target language code (e.g. af-ZA) [required for 173s spell check and recommended in general] 173s --openoffice use the standard checks for OpenOffice translations 173s --libreoffice use the standard checks for LibreOffice translations 173s --mozilla use the standard checks for Mozilla translations 173s --drupal use the standard checks for Drupal translations 173s --gnome use the standard checks for Gnome translations 173s --kde use the standard checks for KDE translations 173s --wx use the standard checks for wxWidgets translations 173s --excludefilter=FILTER 173s don't use FILTER when filtering 173s -t FILTER, --test=FILTER 173s only use test FILTERs specified with this option when 173s filtering 173s --notranslatefile=FILE 173s read list of untranslatable words from FILE (must not 173s be translated) 173s --musttranslatefile=FILE 173s read list of translatable words from FILE (must be 173s translated) 173s --validcharsfile=FILE 173s read list of all valid characters from FILE (must be 173s in UTF-8) 174s ========= SMOKE TEST: /usr/bin/pogrep =========== 174s 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] 174s 174s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 174s snippet files of the same type which can then be reviewed and later merged 174s using :doc:`pomerge `. See: 174s http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 174s xliff formats 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 174s xliff formats 174s --search=SEARCHPARTS searches the given parts (source, target, notes and 174s locations) 174s -I, --ignore-case ignore case distinctions 174s -e, --regexp use regular expression matching 174s -v, --invert-match select non-matching lines 174s --accelerator=ACCELERATOR 174s ignores the given accelerator when matching 174s -k, --keep-translations 174s always extract units with translations 174s ========= SMOKE TEST: /usr/bin/pomerge =========== 174s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 174s 174s Merges XLIFF and Gettext PO localization files. Snippet file produced by 174s e.g. :doc:`pogrep ` and updated by a translator can be 174s merged back into the original files. See: 174s http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in po, pot, pot, xlf, xliff formats 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in po, pot, pot, xlf, xliff formats 174s -t TEMPLATE, --template=TEMPLATE 174s read from TEMPLATE in po, pot, pot, xlf, xliff formats 174s -S, --timestamp skip conversion if the output file has newer timestamp 174s --mergeblanks=MERGEBLANKS 174s whether to overwrite existing translations with blank 174s translations (yes/no). Default is yes. 174s --mergefuzzy=MERGEFUZZY 174s whether to consider fuzzy translations from input 174s (yes/no). Default is yes. 174s --mergecomments=MERGECOMMENTS 174s whether to merge comments as well as translations 174s (yes/no). Default is yes. 174s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 174s Usage pomigrate2 [options] 174s 174s Options: 174s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 174s -C|--use-compendium - create and use a compendium built from the migrating files 174s -C|--use-compendium=some-compendium.po 174s - use an external compendium during the migration 174s --no-wrap - do not wrap long lines 174s --locale=lang - set locale for newly born files 174s -q|--quiet - suppress most output 174s -p|--pot2po - use pot2po instead of msgmerge to migrate 174s ========= SMOKE TEST: /usr/bin/popuretext =========== 174s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 174s ========= SMOKE TEST: /usr/bin/poreencode =========== 174s Usage: poreencode 174s eg: poreencode UTF-8 af/ 174s ========= SMOKE TEST: /usr/bin/porestructure =========== 174s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 174s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 174s 174s Restructure Gettxt PO files produced by :doc:`poconflicts 174s ` into the original directory tree for merging using 174s :doc:`pomerge `. See: 174s http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in po format 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in po format 174s ========= SMOKE TEST: /usr/bin/posegment =========== 174s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 174s 174s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 174s See: http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in po, pot, tmx, xlf, xliff formats 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in po, pot, tmx, xlf, xliff formats 174s -S, --timestamp skip conversion if the output file has newer timestamp 174s -P, --pot output PO Templates (.pot) rather than PO files (.po) 174s -l LANG, --language=LANG 174s the target language code 174s --source-language=LANG 174s the source language code (default 'en') 174s --keepspaces Disable automatic stripping of whitespace 174s --only-aligned Removes units where sentence number does not 174s correspond 174s ========= SMOKE TEST: /usr/bin/poswap =========== 174s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 174s 174s Builds a new translation file with the target of the input language as source 174s language. .. note:: Ensure that the two po files correspond 100% to the same 174s pot file before using this. To translate Kurdish (ku) through French:: 174s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 174s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 174s http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in po, pot formats 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in po, pot formats 174s -t TEMPLATE, --template=TEMPLATE 174s read from TEMPLATE in po, pot, pot formats 174s -S, --timestamp skip conversion if the output file has newer timestamp 174s --reverse reverse the process of intermediate language 174s conversion 174s ========= SMOKE TEST: /usr/bin/pot2po =========== 174s 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] 174s 174s Convert template files (like .pot or template .xlf files) to translation 174s files, preserving existing translations. See: 174s http://docs.translatehouse.org/projects/translate- 174s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 174s 174s Options: 174s --version show program's version number and exit 174s -h, --help show this help message and exit 174s --manpage output a manpage based on the help 174s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 174s --errorlevel=ERRORLEVEL 174s show errorlevel as: none, message, exception, 174s traceback 174s -i INPUT, --input=INPUT 174s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 174s formats 174s -x EXCLUDE, --exclude=EXCLUDE 174s exclude names matching EXCLUDE from input paths 174s -o OUTPUT, --output=OUTPUT 174s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 174s xliff formats 174s -t TEMPLATE, --template=TEMPLATE 174s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 174s xliff formats 174s -S, --timestamp skip conversion if the output file has newer timestamp 174s -P, --pot output PO Templates (.pot) rather than PO files (.po) 174s --tm=TM The file to use as translation memory when fuzzy 174s matching 174s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 174s The minimum similarity for inclusion (default: 75%) 174s --nofuzzymatching Disable fuzzy matching 175s ========= SMOKE TEST: /usr/bin/poterminology =========== 175s 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] 175s input directory is searched for PO files, terminology PO file is output file 175s 175s Create a terminology file by reading a set of .po or .pot files to produce a 175s pootle-terminology.pot. See: 175s http://docs.translatehouse.org/projects/translate- 175s toolkit/en/latest/commands/poterminology.html for examples and usage 175s instructions. 175s 175s Options: 175s --version show program's version number and exit 175s -h, --help show this help message and exit 175s --manpage output a manpage based on the help 175s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 175s --errorlevel=ERRORLEVEL 175s show errorlevel as: none, message, exception, 175s traceback 175s -i INPUT, --input=INPUT 175s read from INPUT in po, pot formats 175s -x EXCLUDE, --exclude=EXCLUDE 175s exclude names matching EXCLUDE from input paths 175s -o OUTPUT, --output=OUTPUT 175s write to OUTPUT in po, pot formats 175s -u UPDATEFILE, --update=UPDATEFILE 175s update terminology in UPDATEFILE 175s -S STOPFILE, --stopword-list=STOPFILE 175s read stopword (term exclusion) list from STOPFILE 175s (default /usr/share/pyshared/translate/share/stoplist- 175s en) 175s -F, --fold-titlecase fold "Title Case" to lowercase (default) 175s -C, --preserve-case preserve all uppercase/lowercase 175s -I, --ignore-case make all terms lowercase 175s --accelerator=ACCELERATORS 175s ignore the given accelerator characters when matching 175s -t LENGTH, --term-words=LENGTH 175s generate terms of up to LENGTH words (default 3) 175s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 175s 1) 175s --inputs-needed=MIN omit terms appearing in less than MIN input files 175s (default 2, or 1 if only one input file) 175s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 175s different messages (default 1) 175s --substr-needed=MIN omit substring-only terms appearing in less than MIN 175s different messages (default 2) 175s --locs-needed=MIN omit terms appearing in less than MIN different 175s original source files (default 2) 175s --sort=ORDER output sort order(s): frequency, dictionary, length 175s (may repeat option, default is all in above order) 175s --source-language=LANG 175s the source language code (default 'en') 175s -v, --invert invert the source and target languages for terminology 175s ========= SMOKE TEST: /usr/bin/pretranslate =========== 175s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 175s 175s Fill localization files with suggested translations based on translation 175s memory and existing translations. See: 175s http://docs.translatehouse.org/projects/translate- 175s toolkit/en/latest/commands/pretranslate.html for examples and usage 175s instructions. 175s 175s Options: 175s --version show program's version number and exit 175s -h, --help show this help message and exit 175s --manpage output a manpage based on the help 175s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 175s --errorlevel=ERRORLEVEL 175s show errorlevel as: none, message, exception, 175s traceback 175s -i INPUT, --input=INPUT 175s read from INPUT in po, pot, pot, xlf, xliff formats 175s -x EXCLUDE, --exclude=EXCLUDE 175s exclude names matching EXCLUDE from input paths 175s -o OUTPUT, --output=OUTPUT 175s write to OUTPUT in po, pot, xlf, xliff formats 175s -t TEMPLATE, --template=TEMPLATE 175s read from TEMPLATE in po, pot, xlf, xliff formats 175s -S, --timestamp skip conversion if the output file has newer timestamp 175s --tm=TM The file to use as translation memory when fuzzy 175s matching 175s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 175s The minimum similarity for inclusion (default: 75%) 175s --nofuzzymatching Disable fuzzy matching 175s ========= SMOKE TEST: /usr/bin/prop2po =========== 175s 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] 175s 175s Convert Java/Mozilla .properties files to Gettext PO localization files. 175s See: http://docs.translatehouse.org/projects/translate- 175s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 175s 175s Options: 175s --version show program's version number and exit 175s -h, --help show this help message and exit 175s --manpage output a manpage based on the help 175s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 175s --errorlevel=ERRORLEVEL 175s show errorlevel as: none, message, exception, 175s traceback 175s -i INPUT, --input=INPUT 175s read from INPUT in lang, properties, strings formats 175s -x EXCLUDE, --exclude=EXCLUDE 175s exclude names matching EXCLUDE from input paths 175s -o OUTPUT, --output=OUTPUT 175s write to OUTPUT in po, pot formats 175s -t TEMPLATE, --template=TEMPLATE 175s read from TEMPLATE in lang, properties, strings 175s formats 175s -S, --timestamp skip conversion if the output file has newer timestamp 175s -P, --pot output PO Templates (.pot) rather than PO files (.po) 175s --personality=TYPE override the input file format: java, java-utf8, java- 175s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 175s strings, strings-utf8, joomla (for .properties files, 175s default: java) 175s --encoding=ENCODING override the encoding set by the personality 175s --duplicates=DUPLICATESTYLE 175s what to do with duplicate strings (identical source 175s text): merge, msgctxt (default: 'msgctxt') 175s ========= SMOKE TEST: /usr/bin/pydiff =========== 175s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 175s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 175s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 175s fromfile tofile 175s 175s positional arguments: 175s fromfile 175s tofile 175s 175s options: 175s -h, --help show this help message and exit 175s -i, --ignore-case Ignore case differences in file contents. 175s -U NUM, --unified NUM 175s Output NUM (default 3) lines of unified context 175s -r, --recursive Recursively compare any subdirectories found. 175s -N, --new-file Treat absent files as empty. 175s --unidirectional-new-file 175s Treat absent first files as empty. 175s -s, --report-identical-files 175s Report when two files are the same. 175s -x PAT, --exclude PAT 175s Exclude files that match PAT. 175s --fromcontains TEXT Only show changes where fromfile contains TEXT 175s --tocontains TEXT Only show changes where tofile contains TEXT 175s --contains TEXT Only show changes where fromfile or tofile contains 175s TEXT 175s -I, --ignore-case-contains 175s Ignore case differences when matching any of the 175s changes 175s --accelerator ACCELERATORS 175s ignores the given accelerator characters when matching 175s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 175s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 175s 175s Convert Python format .po files to PHP format .po files. 175s 175s Options: 175s --version show program's version number and exit 175s -h, --help show this help message and exit 175s --manpage output a manpage based on the help 175s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 175s --errorlevel=ERRORLEVEL 175s show errorlevel as: none, message, exception, 175s traceback 175s -i INPUT, --input=INPUT 175s read from INPUT in po, pot formats 175s -x EXCLUDE, --exclude=EXCLUDE 175s exclude names matching EXCLUDE from input paths 175s -o OUTPUT, --output=OUTPUT 175s write to OUTPUT in po, pot formats 175s -S, --timestamp skip conversion if the output file has newer timestamp 176s ========= SMOKE TEST: /usr/bin/rc2po =========== 176s 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] 176s 176s Convert Windows RC files to Gettext PO localization files. See: 176s http://docs.translatehouse.org/projects/translate- 176s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 176s 176s Options: 176s --version show program's version number and exit 176s -h, --help show this help message and exit 176s --manpage output a manpage based on the help 176s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 176s --errorlevel=ERRORLEVEL 176s show errorlevel as: none, message, exception, 176s traceback 176s -i INPUT, --input=INPUT 176s read from INPUT in nls, rc formats 176s -x EXCLUDE, --exclude=EXCLUDE 176s exclude names matching EXCLUDE from input paths 176s -o OUTPUT, --output=OUTPUT 176s write to OUTPUT in po, pot formats 176s -t TEMPLATE, --template=TEMPLATE 176s read from TEMPLATE in nls, rc formats 176s -S, --timestamp skip conversion if the output file has newer timestamp 176s -P, --pot output PO Templates (.pot) rather than PO files (.po) 176s --charset=CHARSET charset to use to decode the RC files (autodetection 176s is used by default) 176s -l LANG, --lang=LANG LANG entry (default: None) 176s --sublang=SUBLANG SUBLANG entry (default: None) 176s --duplicates=DUPLICATESTYLE 176s what to do with duplicate strings (identical source 176s text): merge, msgctxt (default: 'msgctxt') 176s ========= SMOKE TEST: /usr/bin/resx2po =========== 176s 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] 176s 176s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 176s http://docs.translatehouse.org/projects/translate- 176s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 176s 176s Options: 176s --version show program's version number and exit 176s -h, --help show this help message and exit 176s --manpage output a manpage based on the help 176s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 176s --errorlevel=ERRORLEVEL 176s show errorlevel as: none, message, exception, 176s traceback 176s -i INPUT, --input=INPUT 176s read from INPUT in resx format 176s -x EXCLUDE, --exclude=EXCLUDE 176s exclude names matching EXCLUDE from input paths 176s -o OUTPUT, --output=OUTPUT 176s write to OUTPUT in po, pot formats 176s -t TEMPLATE, --template=TEMPLATE 176s read from TEMPLATE in resx format 176s -S, --timestamp skip conversion if the output file has newer timestamp 176s -P, --pot output PO Templates (.pot) rather than PO files (.po) 176s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 176s everything) 176s --duplicates=DUPLICATESTYLE 176s what to do with duplicate strings (identical source 176s text): merge, msgctxt (default: 'msgctxt') 176s ========= SMOKE TEST: /usr/bin/sub2po =========== 176s 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] 176s 176s Convert subtitle files to Gettext PO localization files. See: 176s http://docs.translatehouse.org/projects/translate- 176s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 176s 176s Options: 176s --version show program's version number and exit 176s -h, --help show this help message and exit 176s --manpage output a manpage based on the help 176s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 176s --errorlevel=ERRORLEVEL 176s show errorlevel as: none, message, exception, 176s traceback 176s -i INPUT, --input=INPUT 176s read from INPUT in ass, srt, ssa, sub formats 176s -x EXCLUDE, --exclude=EXCLUDE 176s exclude names matching EXCLUDE from input paths 176s -o OUTPUT, --output=OUTPUT 176s write to OUTPUT in po, pot formats 176s -t TEMPLATE, --template=TEMPLATE 176s read from TEMPLATE in ass, srt, ssa, sub formats 176s -S, --timestamp skip conversion if the output file has newer timestamp 176s -P, --pot output PO Templates (.pot) rather than PO files (.po) 176s --duplicates=DUPLICATESTYLE 176s what to do with duplicate strings (identical source 176s text): merge, msgctxt (default: 'msgctxt') 176s ========= SMOKE TEST: /usr/bin/symb2po =========== 176s 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] 176s 176s Convert Symbian localisation files to Gettext PO localization files. See: 176s http://docs.translatehouse.org/projects/translate- 176s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 176s 176s Options: 176s --version show program's version number and exit 176s -h, --help show this help message and exit 176s --manpage output a manpage based on the help 176s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 176s --errorlevel=ERRORLEVEL 176s show errorlevel as: none, message, exception, 176s traceback 176s -i INPUT, --input=INPUT 176s read from INPUT in r01 format 176s -x EXCLUDE, --exclude=EXCLUDE 176s exclude names matching EXCLUDE from input paths 176s -o OUTPUT, --output=OUTPUT 176s write to OUTPUT in po, pot formats 176s -t TEMPLATE, --template=TEMPLATE 176s read from TEMPLATE in 176s -S, --timestamp skip conversion if the output file has newer timestamp 176s -P, --pot output PO Templates (.pot) rather than PO files (.po) 176s --duplicates=DUPLICATESTYLE 176s what to do with duplicate strings (identical source 176s text): merge, msgctxt (default: 'msgctxt') 176s ========= SMOKE TEST: /usr/bin/tbx2po =========== 176s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 176s 176s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 176s http://docs.translatehouse.org/projects/translate- 176s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 176s 176s Options: 176s --version show program's version number and exit 176s -h, --help show this help message and exit 176s --manpage output a manpage based on the help 176s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 176s --errorlevel=ERRORLEVEL 176s show errorlevel as: none, message, exception, 176s traceback 176s -i INPUT, --input=INPUT 176s read from INPUT in tbx format 176s -x EXCLUDE, --exclude=EXCLUDE 176s exclude names matching EXCLUDE from input paths 176s -o OUTPUT, --output=OUTPUT 176s write to OUTPUT in po, pot formats 176s -S, --timestamp skip conversion if the output file has newer timestamp 177s ========= SMOKE TEST: /usr/bin/tiki2po =========== 177s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 177s 177s Convert TikiWiki's language.php files to Gettext PO localization files. See: 177s http://docs.translatehouse.org/projects/translate- 177s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 177s 177s Options: 177s --version show program's version number and exit 177s -h, --help show this help message and exit 177s --manpage output a manpage based on the help 177s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 177s --errorlevel=ERRORLEVEL 177s show errorlevel as: none, message, exception, 177s traceback 177s -i INPUT, --input=INPUT 177s read from INPUT in php format 177s -x EXCLUDE, --exclude=EXCLUDE 177s exclude names matching EXCLUDE from input paths 177s -o OUTPUT, --output=OUTPUT 177s write to OUTPUT in po, pot formats 177s -S, --timestamp skip conversion if the output file has newer timestamp 177s --include-unused Include strings in the unused section 177s ========= SMOKE TEST: /usr/bin/tmserver =========== 177s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 177s [-s SOURCE_LANG] [-b BIND] [-p PORT] 177s [--max-candidates MAX_CANDIDATES] 177s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 177s [--debug] 177s 177s options: 177s -h, --help show this help message and exit 177s -d TMDBFILE, --tmdb TMDBFILE 177s translation memory database file 177s -f TMFILES, --import-translation-file TMFILES 177s translation file to import into the database 177s -t TARGET_LANG, --import-target-lang TARGET_LANG 177s target language of translation files 177s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 177s source language of translation files 177s -b BIND, --bind BIND address to bind server to (default: localhost) 177s -p PORT, --port PORT port to listen on (default: 8888) 177s --max-candidates MAX_CANDIDATES 177s Maximum number of candidates 177s --min-similarity MIN_SIMILARITY 177s minimum similarity 177s --max-length MAX_LENGTH 177s Maxmimum string length 177s --debug enable debugging features 177s ========= SMOKE TEST: /usr/bin/ts2po =========== 177s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 177s 177s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 177s http://docs.translatehouse.org/projects/translate- 177s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 177s 177s Options: 177s --version show program's version number and exit 177s -h, --help show this help message and exit 177s --manpage output a manpage based on the help 177s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 177s --errorlevel=ERRORLEVEL 177s show errorlevel as: none, message, exception, 177s traceback 177s -i INPUT, --input=INPUT 177s read from INPUT in ts format 177s -x EXCLUDE, --exclude=EXCLUDE 177s exclude names matching EXCLUDE from input paths 177s -o OUTPUT, --output=OUTPUT 177s write to OUTPUT in po, pot formats 177s -S, --timestamp skip conversion if the output file has newer timestamp 177s -P, --pot output PO Templates (.pot) rather than PO files (.po) 177s --duplicates=DUPLICATESTYLE 177s what to do with duplicate strings (identical source 177s text): merge, msgctxt (default: 'msgctxt') 177s ========= SMOKE TEST: /usr/bin/txt2po =========== 177s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 177s 177s Convert plain text (.txt) files to Gettext PO localization files. See: 177s http://docs.translatehouse.org/projects/translate- 177s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 177s 177s Options: 177s --version show program's version number and exit 177s -h, --help show this help message and exit 177s --manpage output a manpage based on the help 177s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 177s --errorlevel=ERRORLEVEL 177s show errorlevel as: none, message, exception, 177s traceback 177s -i INPUT, --input=INPUT 177s read from INPUT in *, txt formats 177s -x EXCLUDE, --exclude=EXCLUDE 177s exclude names matching EXCLUDE from input paths 177s -o OUTPUT, --output=OUTPUT 177s write to OUTPUT in po, pot formats 177s -S, --timestamp skip conversion if the output file has newer timestamp 177s -P, --pot output PO Templates (.pot) rather than PO files (.po) 177s --encoding=ENCODING The encoding of the input file (default: UTF-8) 177s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 177s mediawiki 177s --no-segmentation Don't segment the file, treat it like a single message 177s --duplicates=DUPLICATESTYLE 177s what to do with duplicate strings (identical source 177s text): merge, msgctxt (default: 'msgctxt') 178s ========= SMOKE TEST: /usr/bin/web2py2po =========== 178s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 178s 178s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 178s http://docs.translatehouse.org/projects/translate- 178s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 178s 178s Options: 178s --version show program's version number and exit 178s -h, --help show this help message and exit 178s --manpage output a manpage based on the help 178s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 178s --errorlevel=ERRORLEVEL 178s show errorlevel as: none, message, exception, 178s traceback 178s -i INPUT, --input=INPUT 178s read from INPUT in py format 178s -x EXCLUDE, --exclude=EXCLUDE 178s exclude names matching EXCLUDE from input paths 178s -o OUTPUT, --output=OUTPUT 178s write to OUTPUT in po, pot formats 178s -S, --timestamp skip conversion if the output file has newer timestamp 178s -P, --pot output PO Templates (.pot) rather than PO files (.po) 178s --duplicates=DUPLICATESTYLE 178s what to do with duplicate strings (identical source 178s text): merge, msgctxt (default: 'msgctxt') 178s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 178s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 178s 178s Convert XLIFF translation files to OpenDocument (ODF) files. See: 178s http://docs.translatehouse.org/projects/translate- 178s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 178s 178s Options: 178s --version show program's version number and exit 178s -h, --help show this help message and exit 178s --manpage output a manpage based on the help 178s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 178s --errorlevel=ERRORLEVEL 178s show errorlevel as: none, message, exception, 178s traceback 178s -i INPUT, --input=INPUT 178s read from INPUT in xlf format 178s -x EXCLUDE, --exclude=EXCLUDE 178s exclude names matching EXCLUDE from input paths 178s -o OUTPUT, --output=OUTPUT 178s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 178s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 178s -t TEMPLATE, --template=TEMPLATE 178s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 178s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 178s formats 178s -S, --timestamp skip conversion if the output file has newer timestamp 178s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 178s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 178s 178s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 178s file. See: http://docs.translatehouse.org/projects/translate- 178s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 178s 178s Options: 178s --version show program's version number and exit 178s -h, --help show this help message and exit 178s --manpage output a manpage based on the help 178s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 178s --errorlevel=ERRORLEVEL 178s show errorlevel as: none, message, exception, 178s traceback 178s -i INPUT, --input=INPUT 178s read from INPUT in po, pot, xlf, xliff formats 178s -x EXCLUDE, --exclude=EXCLUDE 178s exclude names matching EXCLUDE from input paths 178s -o OUTPUT, --output=OUTPUT 178s write to OUTPUT in oo, sdf formats 178s -t TEMPLATE, --template=TEMPLATE 178s read from TEMPLATE in oo, sdf formats 178s -S, --timestamp skip conversion if the output file has newer timestamp 178s -l LANG, --language=LANG 178s set target language code (e.g. af-ZA) [required] 178s --source-language=LANG 178s set source language code (default en-US) 178s -T, --keeptimestamp don't change the timestamps of the strings 178s --nonrecursiveoutput don't treat the output oo as a recursive store 178s --nonrecursivetemplate 178s don't treat the template oo as a recursive store 178s --skipsource don't output the source language, but fallback to it 178s where needed 178s --filteraction=ACTION 178s action on pofilter failure: none (default), warn, 178s exclude-serious, exclude-all 178s --fuzzy use translations marked fuzzy 178s --nofuzzy don't use translations marked fuzzy (default) 178s --multifile=MULTIFILESTYLE 178s how to split po/pot files (single, toplevel or 178s onefile) 178s ========= SMOKE TEST: /usr/bin/xliff2po =========== 178s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 178s 178s Convert XLIFF localization files to Gettext PO localization files. See: 178s http://docs.translatehouse.org/projects/translate- 178s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 178s 178s Options: 178s --version show program's version number and exit 178s -h, --help show this help message and exit 178s --manpage output a manpage based on the help 178s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 178s --errorlevel=ERRORLEVEL 178s show errorlevel as: none, message, exception, 178s traceback 178s -i INPUT, --input=INPUT 178s read from INPUT in xlf, xliff formats 178s -x EXCLUDE, --exclude=EXCLUDE 178s exclude names matching EXCLUDE from input paths 178s -o OUTPUT, --output=OUTPUT 178s write to OUTPUT in po, pot formats 178s -S, --timestamp skip conversion if the output file has newer timestamp 178s -P, --pot output PO Templates (.pot) rather than PO files (.po) 178s --duplicates=DUPLICATESTYLE 178s what to do with duplicate strings (identical source 178s text): merge, msgctxt (default: 'msgctxt') 178s ========= SMOKE TEST: /usr/bin/yaml2po =========== 179s 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] 179s 179s Convert YAML files to Gettext PO localization files. See: 179s http://docs.translatehouse.org/projects/translate- 179s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 179s 179s Options: 179s --version show program's version number and exit 179s -h, --help show this help message and exit 179s --manpage output a manpage based on the help 179s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 179s --errorlevel=ERRORLEVEL 179s show errorlevel as: none, message, exception, 179s traceback 179s -i INPUT, --input=INPUT 179s read from INPUT in yaml, yml formats 179s -x EXCLUDE, --exclude=EXCLUDE 179s exclude names matching EXCLUDE from input paths 179s -o OUTPUT, --output=OUTPUT 179s write to OUTPUT in po, pot formats 179s -t TEMPLATE, --template=TEMPLATE 179s read from TEMPLATE in yaml, yml formats 179s -S, --timestamp skip conversion if the output file has newer timestamp 179s -P, --pot output PO Templates (.pot) rather than PO files (.po) 179s --duplicates=DUPLICATESTYLE 179s what to do with duplicate strings (identical source 179s text): merge, msgctxt (default: 'msgctxt') 179s autopkgtest [09:52:11]: test translate-toolkit: -----------------------] 180s autopkgtest [09:52:12]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 180s translate-toolkit PASS 180s autopkgtest [09:52:12]: test python3-translate: preparing testbed 263s autopkgtest [09:53:35]: testbed dpkg architecture: arm64 263s autopkgtest [09:53:35]: testbed apt version: 2.9.8 263s autopkgtest [09:53:35]: @@@@@@@@@@@@@@@@@@@@ test bed setup 264s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 264s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 264s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [2840 B] 264s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [212 kB] 264s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [28.1 kB] 264s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [59.3 kB] 264s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 264s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [249 kB] 264s Fetched 682 kB in 1s (1034 kB/s) 264s Reading package lists... 266s Reading package lists... 267s Building dependency tree... 267s Reading state information... 267s Calculating upgrade... 268s The following NEW packages will be installed: 268s python3-jaraco.text 268s The following packages will be upgraded: 268s libkeyutils1 python3-pkg-resources python3-setuptools 268s 3 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 268s Need to get 812 kB of archives. 268s After this operation, 13.3 kB of additional disk space will be used. 268s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libkeyutils1 arm64 1.6.3-4ubuntu2 [10.2 kB] 268s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jaraco.text all 4.0.0-1 [11.5 kB] 268s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-pkg-resources all 75.2.0-1 [134 kB] 268s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-setuptools all 75.2.0-1 [657 kB] 269s Fetched 812 kB in 1s (1419 kB/s) 269s (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 ... 79697 files and directories currently installed.) 269s Preparing to unpack .../libkeyutils1_1.6.3-4ubuntu2_arm64.deb ... 269s Unpacking libkeyutils1:arm64 (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 269s Selecting previously unselected package python3-jaraco.text. 269s Preparing to unpack .../python3-jaraco.text_4.0.0-1_all.deb ... 269s Unpacking python3-jaraco.text (4.0.0-1) ... 269s Preparing to unpack .../python3-pkg-resources_75.2.0-1_all.deb ... 269s Unpacking python3-pkg-resources (75.2.0-1) over (74.1.2-1) ... 269s Preparing to unpack .../python3-setuptools_75.2.0-1_all.deb ... 269s Unpacking python3-setuptools (75.2.0-1) over (74.1.2-1) ... 269s Setting up python3-pkg-resources (75.2.0-1) ... 270s Setting up libkeyutils1:arm64 (1.6.3-4ubuntu2) ... 270s Setting up python3-jaraco.text (4.0.0-1) ... 270s Setting up python3-setuptools (75.2.0-1) ... 271s Processing triggers for libc-bin (2.40-1ubuntu3) ... 271s Reading package lists... 271s Building dependency tree... 271s Reading state information... 272s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 272s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 272s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 272s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 272s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 273s Reading package lists... 273s Reading package lists... 273s Building dependency tree... 273s Reading state information... 274s Calculating upgrade... 274s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 274s Reading package lists... 275s Building dependency tree... 275s Reading state information... 275s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 280s Reading package lists... 280s Building dependency tree... 280s Reading state information... 280s Starting pkgProblemResolver with broken count: 0 280s Starting 2 pkgProblemResolver with broken count: 0 280s Done 281s The following additional packages will be installed: 281s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 281s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 281s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 281s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 281s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 281s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 281s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 281s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 281s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 281s python3-syrupy python3-translate python3-vobject python3-wcwidth 281s python3-xapian subversion 281s Suggested packages: 281s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 281s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 281s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 281s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 281s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 281s subversion-tools 281s Recommended packages: 281s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 281s python3-cssselect python3-html5lib python3-tz 281s The following NEW packages will be installed: 281s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 281s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 281s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 281s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 281s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 281s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 281s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 281s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 281s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 281s python3-syrupy python3-translate python3-vobject python3-wcwidth 281s python3-xapian subversion 281s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 281s Need to get 10.5 MB/10.5 MB of archives. 281s After this operation, 50.6 MB of additional disk space will be used. 281s Get:1 /tmp/autopkgtest.gXIvWn/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [900 B] 281s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 emacsen-common all 3.0.5 [12.1 kB] 281s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dictionaries-common all 1.29.7 [188 kB] 281s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 14.2.0-7ubuntu1 [145 kB] 282s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.22.5-2 [930 kB] 282s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 282s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 282s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu1 [94.9 kB] 282s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 282s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 282s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 282s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 282s Get:13 http://ftpmaster.internal/ubuntu plucky/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 282s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 282s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsvn1 arm64 1.14.4-2 [1341 kB] 282s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxapian30 arm64 1.4.25-1 [672 kB] 282s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 282s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aeidon all 1.15-1 [231 kB] 282s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all arm64 3.12.6-0ubuntu1 [886 B] 282s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-soupsieve all 2.6-1 [33.0 kB] 282s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bs4 all 4.12.3-3 [109 kB] 282s Get:22 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-charset-normalizer arm64 3.3.2-2 [115 kB] 282s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 282s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 282s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 282s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 282s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 282s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 282s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidfuzz arm64 3.9.4+ds-1 [987 kB] 282s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 282s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.0-1 [1205 kB] 283s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 283s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 283s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 283s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 283s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 283s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.2-1 [251 kB] 283s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8+ds-2 [129 kB] 283s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 283s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 283s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 283s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 283s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-translate all 3.13.2-2 [319 kB] 283s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 283s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-xapian arm64 1.4.25-1build3 [418 kB] 283s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 subversion arm64 1.14.4-2 [904 kB] 283s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 283s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 283s Preconfiguring packages ... 283s Fetched 10.5 MB in 2s (6084 kB/s) 283s Selecting previously unselected package emacsen-common. 283s (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 ... 79706 files and directories currently installed.) 283s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 283s Unpacking emacsen-common (3.0.5) ... 283s Selecting previously unselected package dictionaries-common. 283s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 283s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 283s Unpacking dictionaries-common (1.29.7) ... 283s Selecting previously unselected package libgomp1:arm64. 283s Preparing to unpack .../02-libgomp1_14.2.0-7ubuntu1_arm64.deb ... 283s Unpacking libgomp1:arm64 (14.2.0-7ubuntu1) ... 283s Selecting previously unselected package gettext. 283s Preparing to unpack .../03-gettext_0.22.5-2_arm64.deb ... 283s Unpacking gettext (0.22.5-2) ... 284s Selecting previously unselected package hunspell-en-us. 284s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 284s Unpacking hunspell-en-us (1:2020.12.07-2) ... 284s Selecting previously unselected package libapr1t64:arm64. 284s Preparing to unpack .../05-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 284s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 284s Selecting previously unselected package libaprutil1t64:arm64. 284s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu1_arm64.deb ... 284s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu1) ... 284s Selecting previously unselected package libaspell15:arm64. 284s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 284s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 284s Selecting previously unselected package libhunspell-1.7-0:arm64. 284s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 284s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 284s Selecting previously unselected package libenchant-2-2:arm64. 284s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 284s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 284s Selecting previously unselected package libexttextcat-data. 284s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 284s Unpacking libexttextcat-data (3.4.7-1build1) ... 284s Selecting previously unselected package libserf-1-1:arm64. 284s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 284s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 284s Selecting previously unselected package libutf8proc3:arm64. 284s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 284s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 284s Selecting previously unselected package libsvn1:arm64. 284s Preparing to unpack .../13-libsvn1_1.14.4-2_arm64.deb ... 284s Unpacking libsvn1:arm64 (1.14.4-2) ... 284s Selecting previously unselected package libxapian30:arm64. 284s Preparing to unpack .../14-libxapian30_1.4.25-1_arm64.deb ... 284s Unpacking libxapian30:arm64 (1.4.25-1) ... 284s Selecting previously unselected package libxslt1.1:arm64. 284s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 284s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 284s Selecting previously unselected package python3-aeidon. 284s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 284s Unpacking python3-aeidon (1.15-1) ... 284s Selecting previously unselected package python3-all. 284s Preparing to unpack .../17-python3-all_3.12.6-0ubuntu1_arm64.deb ... 284s Unpacking python3-all (3.12.6-0ubuntu1) ... 284s Selecting previously unselected package python3-soupsieve. 284s Preparing to unpack .../18-python3-soupsieve_2.6-1_all.deb ... 284s Unpacking python3-soupsieve (2.6-1) ... 284s Selecting previously unselected package python3-bs4. 284s Preparing to unpack .../19-python3-bs4_4.12.3-3_all.deb ... 284s Unpacking python3-bs4 (4.12.3-3) ... 284s Selecting previously unselected package python3-charset-normalizer. 284s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-2_arm64.deb ... 284s Unpacking python3-charset-normalizer (3.3.2-2) ... 284s Selecting previously unselected package python3-cheroot. 284s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 284s Unpacking python3-cheroot (10.0.0+ds1-2) ... 284s Selecting previously unselected package python3-six. 284s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 284s Unpacking python3-six (1.16.0-7) ... 284s Selecting previously unselected package python3-dateutil. 284s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 284s Unpacking python3-dateutil (2.9.0-2) ... 284s Selecting previously unselected package python3-diff-match-patch. 284s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 284s Unpacking python3-diff-match-patch (20230430-1) ... 284s Selecting previously unselected package python3-enchant. 284s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 284s Unpacking python3-enchant (3.2.2-1) ... 284s Selecting previously unselected package python3-iniconfig. 284s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 284s Unpacking python3-iniconfig (1.1.1-2) ... 284s Selecting previously unselected package python3-rapidfuzz. 284s Preparing to unpack .../27-python3-rapidfuzz_3.9.4+ds-1_arm64.deb ... 284s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 285s Selecting previously unselected package python3-levenshtein. 285s Preparing to unpack .../28-python3-levenshtein_0.25.1-3_arm64.deb ... 285s Unpacking python3-levenshtein (0.25.1-3) ... 285s Selecting previously unselected package python3-lxml:arm64. 285s Preparing to unpack .../29-python3-lxml_5.3.0-1_arm64.deb ... 285s Unpacking python3-lxml:arm64 (5.3.0-1) ... 285s Selecting previously unselected package python3-mistletoe. 285s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 285s Unpacking python3-mistletoe (1.3.0-1) ... 285s Selecting previously unselected package python3-packaging. 285s Preparing to unpack .../31-python3-packaging_24.1-1_all.deb ... 285s Unpacking python3-packaging (24.1-1) ... 285s Selecting previously unselected package python3-ply. 285s Preparing to unpack .../32-python3-ply_3.11-7_all.deb ... 285s Unpacking python3-ply (3.11-7) ... 285s Selecting previously unselected package python3-phply. 285s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 285s Unpacking python3-phply (1.2.6-1) ... 285s Selecting previously unselected package python3-pluggy. 285s Preparing to unpack .../34-python3-pluggy_1.5.0-1_all.deb ... 285s Unpacking python3-pluggy (1.5.0-1) ... 285s Selecting previously unselected package python3-pytest. 285s Preparing to unpack .../35-python3-pytest_8.3.2-1_all.deb ... 285s Unpacking python3-pytest (8.3.2-1) ... 285s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 285s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-2_arm64.deb ... 285s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8+ds-2) ... 285s Selecting previously unselected package python3-ruamel.yaml. 285s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 285s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 285s Selecting previously unselected package python3-simplejson. 285s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_arm64.deb ... 285s Unpacking python3-simplejson (3.19.2-1build2) ... 285s Selecting previously unselected package python3-syrupy. 285s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 285s Unpacking python3-syrupy (4.6.1-1) ... 285s Selecting previously unselected package python3-wcwidth. 285s Preparing to unpack .../40-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 285s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 285s Selecting previously unselected package python3-translate. 285s Preparing to unpack .../41-python3-translate_3.13.2-2_all.deb ... 285s Unpacking python3-translate (3.13.2-2) ... 285s Selecting previously unselected package python3-vobject. 285s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 285s Unpacking python3-vobject (0.9.6.1-2) ... 285s Selecting previously unselected package python3-xapian. 285s Preparing to unpack .../43-python3-xapian_1.4.25-1build3_arm64.deb ... 285s Unpacking python3-xapian (1.4.25-1build3) ... 285s Selecting previously unselected package subversion. 285s Preparing to unpack .../44-subversion_1.14.4-2_arm64.deb ... 285s Unpacking subversion (1.14.4-2) ... 285s Selecting previously unselected package python3-iniparse. 285s Preparing to unpack .../45-python3-iniparse_0.5-2_all.deb ... 285s Unpacking python3-iniparse (0.5-2) ... 285s Selecting previously unselected package python3-pycountry. 285s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 285s Unpacking python3-pycountry (24.6.1+ds1-1) ... 285s Selecting previously unselected package autopkgtest-satdep. 285s Preparing to unpack .../47-2-autopkgtest-satdep.deb ... 285s Unpacking autopkgtest-satdep (0) ... 286s Setting up python3-iniconfig (1.1.1-2) ... 286s Setting up libxapian30:arm64 (1.4.25-1) ... 286s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 286s Setting up python3-diff-match-patch (20230430-1) ... 286s Setting up python3-aeidon (1.15-1) ... 286s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 286s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 286s Setting up python3-charset-normalizer (3.3.2-2) ... 286s Setting up python3-ply (3.11-7) ... 286s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8+ds-2) ... 286s Setting up python3-all (3.12.6-0ubuntu1) ... 286s Setting up libgomp1:arm64 (14.2.0-7ubuntu1) ... 286s Setting up python3-six (1.16.0-7) ... 287s Setting up python3-simplejson (3.19.2-1build2) ... 287s Setting up python3-packaging (24.1-1) ... 287s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 287s Setting up emacsen-common (3.0.5) ... 287s Setting up python3-cheroot (10.0.0+ds1-2) ... 287s Setting up python3-pycountry (24.6.1+ds1-1) ... 287s Setting up python3-xapian (1.4.25-1build3) ... 288s Setting up python3-pluggy (1.5.0-1) ... 288s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 288s Setting up python3-mistletoe (1.3.0-1) ... 288s Setting up libexttextcat-data (3.4.7-1build1) ... 288s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 288s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 288s Setting up python3-dateutil (2.9.0-2) ... 288s Setting up python3-levenshtein (0.25.1-3) ... 289s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 289s Setting up python3-soupsieve (2.6-1) ... 289s Setting up python3-iniparse (0.5-2) ... 289s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu1) ... 289s Setting up python3-vobject (0.9.6.1-2) ... 289s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 289s patterns['name'] = '[a-zA-Z0-9\-_]+' 289s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 289s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 289s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 289s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 289s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 289s """ 289s Setting up gettext (0.22.5-2) ... 289s Setting up python3-phply (1.2.6-1) ... 289s Setting up dictionaries-common (1.29.7) ... 290s Setting up python3-pytest (8.3.2-1) ... 290s Setting up python3-syrupy (4.6.1-1) ... 290s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 290s Setting up python3-bs4 (4.12.3-3) ... 290s Setting up python3-lxml:arm64 (5.3.0-1) ... 290s Setting up hunspell-en-us (1:2020.12.07-2) ... 291s Setting up libsvn1:arm64 (1.14.4-2) ... 291s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 291s Setting up subversion (1.14.4-2) ... 291s Setting up python3-enchant (3.2.2-1) ... 291s Setting up python3-translate (3.13.2-2) ... 291s Setting up autopkgtest-satdep (0) ... 291s Processing triggers for man-db (2.12.1-3) ... 292s Processing triggers for install-info (7.1.1-1) ... 293s Processing triggers for libc-bin (2.40-1ubuntu3) ... 293s Processing triggers for dictionaries-common (1.29.7) ... 297s (Reading database ... 83213 files and directories currently installed.) 297s Removing autopkgtest-satdep (0) ... 300s autopkgtest [09:54:12]: test python3-translate: [----------------------- 301s ============================= test session starts ============================== 301s platform linux -- Python 3.12.7, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3.12 301s cachedir: .pytest_cache 301s rootdir: /tmp/autopkgtest.gXIvWn/autopkgtest_tmp 301s plugins: typeguard-4.3.0, syrupy-4.6.1 307s collecting ... collected 3340 items / 2 skipped 307s 307s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 307s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 307s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 307s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 307s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 307s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 308s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 308s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 308s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 308s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 308s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 308s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 308s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 308s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 309s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 309s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 309s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 309s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 309s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 309s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 309s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 309s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 309s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 309s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 309s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 309s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 310s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 310s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 310s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 310s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 310s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 310s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 310s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 310s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 310s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 310s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 310s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 310s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 310s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 310s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 310s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 310s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 310s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 310s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 310s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 310s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 310s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 310s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 310s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 310s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 310s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 310s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 310s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 310s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 310s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 310s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 311s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 311s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 311s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 311s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 311s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 311s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 311s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 311s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 311s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 311s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 311s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 311s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 311s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 311s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 311s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 311s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 311s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 311s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 311s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 311s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 311s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 311s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 311s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 311s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 311s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 312s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 312s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 312s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 312s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 312s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 312s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 312s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 312s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 312s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 312s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 312s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 312s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 312s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 312s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 312s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 312s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 312s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 312s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 312s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 312s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 312s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 312s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 312s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 312s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 312s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 312s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 312s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 312s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 312s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 312s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 312s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 312s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 312s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 312s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 312s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 312s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 312s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 312s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 312s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 312s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 312s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 312s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 312s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 312s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 312s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 312s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 312s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 312s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 312s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 312s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 312s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 312s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 312s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 312s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 312s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 312s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 312s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 312s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 312s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 312s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 312s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 312s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 312s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 312s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 312s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 312s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 312s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 312s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 312s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 313s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 313s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 313s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 313s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 41%] 313s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 41%] 313s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 41%] 313s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 41%] 313s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 41%] 313s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 313s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 313s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 313s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 313s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 313s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 313s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 313s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 313s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 313s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 313s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 313s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 313s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 313s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 313s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 313s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 313s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 313s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 314s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 58%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 314s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 314s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 314s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 314s 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%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 314s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 314s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 314s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 314s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 314s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 314s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 314s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 314s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 314s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 314s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 314s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 314s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 314s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 314s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 314s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 314s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 314s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 314s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 314s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 314s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 316s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 316s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 316s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 316s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 316s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 316s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 316s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 316s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 316s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 316s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 316s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 316s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 316s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 316s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 316s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 316s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 317s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 317s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 317s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 317s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 84%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 317s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 85%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 317s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 317s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 317s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 317s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 317s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 317s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 317s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 86%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 317s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 317s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 317s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 317s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 317s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 317s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 317s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 317s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 317s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 319s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 319s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 92%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 319s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 319s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 319s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 319s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 319s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 319s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 319s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 319s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 319s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 319s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 319s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 319s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 319s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 319s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 319s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 319s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 319s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 319s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 319s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 319s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 319s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 320s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 320s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 320s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 320s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 320s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 320s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 320s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 320s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 320s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 320s 320s =============================== warnings summary =============================== 320s tests/translate/storage/test_cpo.py:15 320s Warning: 320s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 320s ImportError('gettext PO library not found') 320s In pytest 9.1 this warning will become an error by default. 320s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 320s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 320s 320s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 320s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gXIvWn/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 320s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 320s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 320s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 320s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 320s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 320s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 320s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 320s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 320s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 320s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 320s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 320s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 320s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 320s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 320s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 320s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 320s Warning: Could not find accesskey for key.accesskey 320s 320s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 320s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 320s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 320s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 320s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 320s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gXIvWn/autopkgtest_tmp/tests/translate/convert/test.idml'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 320s Warning: unclosed file <_io.BufferedReader name='translation.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 320s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 320s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 320s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 320s Warning: Could not find accesskey for prop.accesskey 320s 320s tests/translate/convert/test_po2tmx.py: 26 warnings 320s tests/translate/filters/test_pofilter.py: 13 warnings 320s tests/translate/storage/test_tbx.py: 17 warnings 320s tests/translate/storage/test_tmx.py: 24 warnings 320s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 320s 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 320s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 320s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 320s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 320s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 320s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 320s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 320s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 320s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 320s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 320s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 320s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gXIvWn/autopkgtest_tmp/tests/translate/convert/test.odt'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 320s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 320s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 320s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 320s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 320s Enable tracemalloc to get traceback where the object was allocated. 320s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 320s 320s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 320s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 320s 320s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 320s Warning: DTD file '' does not validate 320s 320s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 320s --------------------------- snapshot report summary ---------------------------- 320s 23 snapshots passed. 320s =========================== short test summary info ============================ 320s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 320s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 320s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 320s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 320s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 320s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 320s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 320s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 320s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 320s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 320s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 320s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 320s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 320s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 320s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 320s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 320s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 320s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 320s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 320s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 320s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 320s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 320s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 320s 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. 320s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 320s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 320s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 320s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 320s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 320s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 320s 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 320s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 320s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 320s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 320s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 320s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 320s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 320s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 320s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 320s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 320s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 320s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 320s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 320s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 320s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 320s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 320s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 320s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 320s ========= 3279 passed, 22 skipped, 41 xfailed, 127 warnings in 19.67s ========== 321s autopkgtest [09:54:33]: test python3-translate: -----------------------] 322s autopkgtest [09:54:34]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 322s python3-translate PASS 322s autopkgtest [09:54:34]: test python3-translate-commands: preparing testbed 408s autopkgtest [09:56:00]: testbed dpkg architecture: arm64 408s autopkgtest [09:56:00]: testbed apt version: 2.9.8 408s autopkgtest [09:56:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 409s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 410s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [28.1 kB] 410s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 410s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [2840 B] 410s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [212 kB] 411s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [59.3 kB] 411s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 411s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [249 kB] 411s Fetched 682 kB in 2s (433 kB/s) 411s Reading package lists... 413s Reading package lists... 413s Building dependency tree... 413s Reading state information... 414s Calculating upgrade... 414s The following NEW packages will be installed: 414s python3-jaraco.text 414s The following packages will be upgraded: 414s libkeyutils1 python3-pkg-resources python3-setuptools 415s 3 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 415s Need to get 812 kB of archives. 415s After this operation, 13.3 kB of additional disk space will be used. 415s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libkeyutils1 arm64 1.6.3-4ubuntu2 [10.2 kB] 415s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jaraco.text all 4.0.0-1 [11.5 kB] 415s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-pkg-resources all 75.2.0-1 [134 kB] 415s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-setuptools all 75.2.0-1 [657 kB] 415s Fetched 812 kB in 1s (1469 kB/s) 416s (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 ... 79697 files and directories currently installed.) 416s Preparing to unpack .../libkeyutils1_1.6.3-4ubuntu2_arm64.deb ... 416s Unpacking libkeyutils1:arm64 (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 416s Selecting previously unselected package python3-jaraco.text. 416s Preparing to unpack .../python3-jaraco.text_4.0.0-1_all.deb ... 416s Unpacking python3-jaraco.text (4.0.0-1) ... 417s Preparing to unpack .../python3-pkg-resources_75.2.0-1_all.deb ... 417s Unpacking python3-pkg-resources (75.2.0-1) over (74.1.2-1) ... 417s Preparing to unpack .../python3-setuptools_75.2.0-1_all.deb ... 417s Unpacking python3-setuptools (75.2.0-1) over (74.1.2-1) ... 417s Setting up python3-pkg-resources (75.2.0-1) ... 417s Setting up libkeyutils1:arm64 (1.6.3-4ubuntu2) ... 417s Setting up python3-jaraco.text (4.0.0-1) ... 417s Setting up python3-setuptools (75.2.0-1) ... 417s Processing triggers for libc-bin (2.40-1ubuntu3) ... 418s Reading package lists... 418s Building dependency tree... 418s Reading state information... 419s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 419s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 419s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 419s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 419s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 420s Reading package lists... 420s Reading package lists... 420s Building dependency tree... 420s Reading state information... 421s Calculating upgrade... 421s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 421s Reading package lists... 422s Building dependency tree... 422s Reading state information... 422s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 429s Reading package lists... 429s Building dependency tree... 429s Reading state information... 430s Starting pkgProblemResolver with broken count: 0 430s Starting 2 pkgProblemResolver with broken count: 0 430s Done 430s The following additional packages will be installed: 430s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 430s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 430s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 430s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 430s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 430s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 430s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 430s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 430s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 430s python3-syrupy python3-translate python3-vobject python3-wcwidth 430s python3-xapian subversion translate-toolkit 430s Suggested packages: 430s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 430s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 430s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 430s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 430s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 430s subversion-tools 430s Recommended packages: 430s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 430s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 431s The following NEW packages will be installed: 431s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 431s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 431s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 431s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 431s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 431s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 431s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 431s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 431s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 431s python3-syrupy python3-translate python3-vobject python3-wcwidth 431s python3-xapian subversion translate-toolkit 431s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 431s Need to get 10.6 MB/10.6 MB of archives. 431s After this operation, 50.8 MB of additional disk space will be used. 431s Get:1 /tmp/autopkgtest.gXIvWn/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [900 B] 431s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 emacsen-common all 3.0.5 [12.1 kB] 431s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 dictionaries-common all 1.29.7 [188 kB] 431s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 14.2.0-7ubuntu1 [145 kB] 431s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.22.5-2 [930 kB] 431s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 431s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libapr1t64 arm64 1.7.2-3.2ubuntu1 [106 kB] 431s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu1 [94.9 kB] 431s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libaspell15 arm64 0.60.8.1-1build1 [316 kB] 431s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 431s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libenchant-2-2 arm64 2.3.3-2build2 [50.3 kB] 431s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libexttextcat-data all 3.4.7-1build1 [193 kB] 431s Get:13 http://ftpmaster.internal/ubuntu plucky/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 431s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 libutf8proc3 arm64 2.9.0-1build1 [71.1 kB] 431s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsvn1 arm64 1.14.4-2 [1341 kB] 431s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxapian30 arm64 1.4.25-1 [672 kB] 431s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libxslt1.1 arm64 1.1.39-0exp1ubuntu1 [167 kB] 431s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aeidon all 1.15-1 [231 kB] 431s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-all arm64 3.12.6-0ubuntu1 [886 B] 431s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-soupsieve all 2.6-1 [33.0 kB] 431s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-bs4 all 4.12.3-3 [109 kB] 431s Get:22 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-charset-normalizer arm64 3.3.2-2 [115 kB] 431s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 431s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 431s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 431s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-diff-match-patch all 20230430-1 [33.1 kB] 431s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-enchant all 3.2.2-1 [34.0 kB] 431s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 431s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-rapidfuzz arm64 3.9.4+ds-1 [987 kB] 431s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-levenshtein arm64 0.25.1-3 [108 kB] 431s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-lxml arm64 5.3.0-1 [1205 kB] 432s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mistletoe all 1.3.0-1 [38.0 kB] 432s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 432s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-ply all 3.11-7 [45.4 kB] 432s Get:35 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 432s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 432s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.2-1 [251 kB] 432s Get:38 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml.clib arm64 0.2.8+ds-2 [129 kB] 432s Get:39 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 432s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-simplejson arm64 3.19.2-1build2 [53.6 kB] 432s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-syrupy all 4.6.1-1 [42.8 kB] 432s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 432s Get:43 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-translate all 3.13.2-2 [319 kB] 432s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-vobject all 0.9.6.1-2 [40.6 kB] 432s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-xapian arm64 1.4.25-1build3 [418 kB] 432s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 subversion arm64 1.14.4-2 [904 kB] 432s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 translate-toolkit all 3.13.2-2 [81.0 kB] 432s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniparse all 0.5-2 [20.0 kB] 432s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 432s Preconfiguring packages ... 432s Fetched 10.6 MB in 1s (8915 kB/s) 432s Selecting previously unselected package emacsen-common. 432s (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 ... 79706 files and directories currently installed.) 432s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 432s Unpacking emacsen-common (3.0.5) ... 432s Selecting previously unselected package dictionaries-common. 432s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 432s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 432s Unpacking dictionaries-common (1.29.7) ... 432s Selecting previously unselected package libgomp1:arm64. 432s Preparing to unpack .../02-libgomp1_14.2.0-7ubuntu1_arm64.deb ... 432s Unpacking libgomp1:arm64 (14.2.0-7ubuntu1) ... 432s Selecting previously unselected package gettext. 432s Preparing to unpack .../03-gettext_0.22.5-2_arm64.deb ... 432s Unpacking gettext (0.22.5-2) ... 432s Selecting previously unselected package hunspell-en-us. 432s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 432s Unpacking hunspell-en-us (1:2020.12.07-2) ... 432s Selecting previously unselected package libapr1t64:arm64. 432s Preparing to unpack .../05-libapr1t64_1.7.2-3.2ubuntu1_arm64.deb ... 432s Unpacking libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 432s Selecting previously unselected package libaprutil1t64:arm64. 433s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu1_arm64.deb ... 433s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu1) ... 433s Selecting previously unselected package libaspell15:arm64. 433s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_arm64.deb ... 433s Unpacking libaspell15:arm64 (0.60.8.1-1build1) ... 433s Selecting previously unselected package libhunspell-1.7-0:arm64. 433s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 433s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 433s Selecting previously unselected package libenchant-2-2:arm64. 433s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_arm64.deb ... 433s Unpacking libenchant-2-2:arm64 (2.3.3-2build2) ... 433s Selecting previously unselected package libexttextcat-data. 433s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 433s Unpacking libexttextcat-data (3.4.7-1build1) ... 433s Selecting previously unselected package libserf-1-1:arm64. 433s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 433s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 433s Selecting previously unselected package libutf8proc3:arm64. 433s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_arm64.deb ... 433s Unpacking libutf8proc3:arm64 (2.9.0-1build1) ... 433s Selecting previously unselected package libsvn1:arm64. 433s Preparing to unpack .../13-libsvn1_1.14.4-2_arm64.deb ... 433s Unpacking libsvn1:arm64 (1.14.4-2) ... 433s Selecting previously unselected package libxapian30:arm64. 433s Preparing to unpack .../14-libxapian30_1.4.25-1_arm64.deb ... 433s Unpacking libxapian30:arm64 (1.4.25-1) ... 433s Selecting previously unselected package libxslt1.1:arm64. 433s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_arm64.deb ... 433s Unpacking libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 433s Selecting previously unselected package python3-aeidon. 433s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 433s Unpacking python3-aeidon (1.15-1) ... 433s Selecting previously unselected package python3-all. 433s Preparing to unpack .../17-python3-all_3.12.6-0ubuntu1_arm64.deb ... 433s Unpacking python3-all (3.12.6-0ubuntu1) ... 433s Selecting previously unselected package python3-soupsieve. 433s Preparing to unpack .../18-python3-soupsieve_2.6-1_all.deb ... 433s Unpacking python3-soupsieve (2.6-1) ... 433s Selecting previously unselected package python3-bs4. 433s Preparing to unpack .../19-python3-bs4_4.12.3-3_all.deb ... 433s Unpacking python3-bs4 (4.12.3-3) ... 433s Selecting previously unselected package python3-charset-normalizer. 433s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-2_arm64.deb ... 433s Unpacking python3-charset-normalizer (3.3.2-2) ... 433s Selecting previously unselected package python3-cheroot. 433s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 433s Unpacking python3-cheroot (10.0.0+ds1-2) ... 433s Selecting previously unselected package python3-six. 433s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 433s Unpacking python3-six (1.16.0-7) ... 433s Selecting previously unselected package python3-dateutil. 433s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 433s Unpacking python3-dateutil (2.9.0-2) ... 433s Selecting previously unselected package python3-diff-match-patch. 433s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 433s Unpacking python3-diff-match-patch (20230430-1) ... 433s Selecting previously unselected package python3-enchant. 433s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 433s Unpacking python3-enchant (3.2.2-1) ... 433s Selecting previously unselected package python3-iniconfig. 433s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 433s Unpacking python3-iniconfig (1.1.1-2) ... 433s Selecting previously unselected package python3-rapidfuzz. 433s Preparing to unpack .../27-python3-rapidfuzz_3.9.4+ds-1_arm64.deb ... 433s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 434s Selecting previously unselected package python3-levenshtein. 434s Preparing to unpack .../28-python3-levenshtein_0.25.1-3_arm64.deb ... 434s Unpacking python3-levenshtein (0.25.1-3) ... 434s Selecting previously unselected package python3-lxml:arm64. 434s Preparing to unpack .../29-python3-lxml_5.3.0-1_arm64.deb ... 434s Unpacking python3-lxml:arm64 (5.3.0-1) ... 434s Selecting previously unselected package python3-mistletoe. 434s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 434s Unpacking python3-mistletoe (1.3.0-1) ... 434s Selecting previously unselected package python3-packaging. 434s Preparing to unpack .../31-python3-packaging_24.1-1_all.deb ... 434s Unpacking python3-packaging (24.1-1) ... 434s Selecting previously unselected package python3-ply. 434s Preparing to unpack .../32-python3-ply_3.11-7_all.deb ... 434s Unpacking python3-ply (3.11-7) ... 434s Selecting previously unselected package python3-phply. 434s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 434s Unpacking python3-phply (1.2.6-1) ... 434s Selecting previously unselected package python3-pluggy. 434s Preparing to unpack .../34-python3-pluggy_1.5.0-1_all.deb ... 434s Unpacking python3-pluggy (1.5.0-1) ... 434s Selecting previously unselected package python3-pytest. 434s Preparing to unpack .../35-python3-pytest_8.3.2-1_all.deb ... 434s Unpacking python3-pytest (8.3.2-1) ... 434s Selecting previously unselected package python3-ruamel.yaml.clib:arm64. 434s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-2_arm64.deb ... 434s Unpacking python3-ruamel.yaml.clib:arm64 (0.2.8+ds-2) ... 434s Selecting previously unselected package python3-ruamel.yaml. 434s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 434s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 434s Selecting previously unselected package python3-simplejson. 434s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_arm64.deb ... 434s Unpacking python3-simplejson (3.19.2-1build2) ... 434s Selecting previously unselected package python3-syrupy. 434s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 434s Unpacking python3-syrupy (4.6.1-1) ... 434s Selecting previously unselected package python3-wcwidth. 434s Preparing to unpack .../40-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 434s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 434s Selecting previously unselected package python3-translate. 434s Preparing to unpack .../41-python3-translate_3.13.2-2_all.deb ... 434s Unpacking python3-translate (3.13.2-2) ... 434s Selecting previously unselected package python3-vobject. 434s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 434s Unpacking python3-vobject (0.9.6.1-2) ... 434s Selecting previously unselected package python3-xapian. 434s Preparing to unpack .../43-python3-xapian_1.4.25-1build3_arm64.deb ... 434s Unpacking python3-xapian (1.4.25-1build3) ... 434s Selecting previously unselected package subversion. 434s Preparing to unpack .../44-subversion_1.14.4-2_arm64.deb ... 434s Unpacking subversion (1.14.4-2) ... 434s Selecting previously unselected package translate-toolkit. 434s Preparing to unpack .../45-translate-toolkit_3.13.2-2_all.deb ... 434s Unpacking translate-toolkit (3.13.2-2) ... 435s Selecting previously unselected package python3-iniparse. 435s Preparing to unpack .../46-python3-iniparse_0.5-2_all.deb ... 435s Unpacking python3-iniparse (0.5-2) ... 435s Selecting previously unselected package python3-pycountry. 435s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 435s Unpacking python3-pycountry (24.6.1+ds1-1) ... 435s Selecting previously unselected package autopkgtest-satdep. 435s Preparing to unpack .../48-3-autopkgtest-satdep.deb ... 435s Unpacking autopkgtest-satdep (0) ... 435s Setting up python3-iniconfig (1.1.1-2) ... 435s Setting up libxapian30:arm64 (1.4.25-1) ... 435s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 435s Setting up python3-diff-match-patch (20230430-1) ... 435s Setting up python3-aeidon (1.15-1) ... 436s Setting up libutf8proc3:arm64 (2.9.0-1build1) ... 436s Setting up libaspell15:arm64 (0.60.8.1-1build1) ... 436s Setting up python3-charset-normalizer (3.3.2-2) ... 436s Setting up python3-ply (3.11-7) ... 436s Setting up python3-ruamel.yaml.clib:arm64 (0.2.8+ds-2) ... 436s Setting up python3-all (3.12.6-0ubuntu1) ... 436s Setting up libgomp1:arm64 (14.2.0-7ubuntu1) ... 436s Setting up python3-six (1.16.0-7) ... 436s Setting up python3-simplejson (3.19.2-1build2) ... 436s Setting up python3-packaging (24.1-1) ... 436s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 437s Setting up emacsen-common (3.0.5) ... 437s Setting up python3-cheroot (10.0.0+ds1-2) ... 437s Setting up python3-pycountry (24.6.1+ds1-1) ... 437s Setting up python3-xapian (1.4.25-1build3) ... 437s Setting up python3-pluggy (1.5.0-1) ... 437s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 438s Setting up python3-mistletoe (1.3.0-1) ... 438s Setting up libexttextcat-data (3.4.7-1build1) ... 438s Setting up libapr1t64:arm64 (1.7.2-3.2ubuntu1) ... 438s Setting up libxslt1.1:arm64 (1.1.39-0exp1ubuntu1) ... 438s Setting up python3-dateutil (2.9.0-2) ... 438s Setting up python3-levenshtein (0.25.1-3) ... 438s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 438s Setting up python3-soupsieve (2.6-1) ... 438s Setting up python3-iniparse (0.5-2) ... 439s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu1) ... 439s Setting up python3-vobject (0.9.6.1-2) ... 439s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 439s patterns['name'] = '[a-zA-Z0-9\-_]+' 439s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 439s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 439s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 439s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 439s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 439s """ 439s Setting up gettext (0.22.5-2) ... 439s Setting up python3-phply (1.2.6-1) ... 439s Setting up dictionaries-common (1.29.7) ... 439s Setting up python3-pytest (8.3.2-1) ... 440s Setting up python3-syrupy (4.6.1-1) ... 440s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 440s Setting up python3-bs4 (4.12.3-3) ... 440s Setting up python3-lxml:arm64 (5.3.0-1) ... 440s Setting up hunspell-en-us (1:2020.12.07-2) ... 440s Setting up libsvn1:arm64 (1.14.4-2) ... 440s Setting up libenchant-2-2:arm64 (2.3.3-2build2) ... 440s Setting up subversion (1.14.4-2) ... 440s Setting up python3-enchant (3.2.2-1) ... 440s Setting up python3-translate (3.13.2-2) ... 441s Setting up translate-toolkit (3.13.2-2) ... 441s Setting up autopkgtest-satdep (0) ... 441s Processing triggers for man-db (2.12.1-3) ... 442s Processing triggers for install-info (7.1.1-1) ... 442s Processing triggers for libc-bin (2.40-1ubuntu3) ... 443s Processing triggers for dictionaries-common (1.29.7) ... 447s (Reading database ... 83383 files and directories currently installed.) 447s Removing autopkgtest-satdep (0) ... 450s autopkgtest [09:56:42]: test python3-translate-commands: [----------------------- 450s ============================= test session starts ============================== 450s platform linux -- Python 3.12.7, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3.12 450s cachedir: .pytest_cache 450s rootdir: /tmp/autopkgtest.gXIvWn/autopkgtest_tmp 450s plugins: typeguard-4.3.0, syrupy-4.6.1 456s collecting ... collected 3340 items / 2 skipped 456s 456s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 456s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 456s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 456s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 456s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 456s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 456s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 456s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 456s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 456s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 456s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 456s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 456s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 457s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 457s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 457s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 457s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 457s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 457s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 457s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 457s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 457s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 457s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 457s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 457s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 457s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 457s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 457s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 457s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 457s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 457s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 457s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 457s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 457s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 457s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 457s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 458s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 458s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 458s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 458s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 458s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 458s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 458s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 458s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 458s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 458s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 458s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 458s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 458s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 458s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 458s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 458s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 458s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 458s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 458s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 459s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 459s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 459s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 459s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 459s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 459s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 459s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 459s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 459s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 459s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 459s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 459s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 459s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 459s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 459s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 459s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 459s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 459s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 459s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 459s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 459s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 459s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 459s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 459s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 460s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 460s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 460s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 460s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 460s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 460s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 460s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 460s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 460s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 460s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 460s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 460s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 460s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 460s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 460s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 460s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 460s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 460s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 460s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 460s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 460s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 460s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 460s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 461s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 461s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 461s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 461s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 461s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 461s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 461s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 461s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 461s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 461s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 461s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 461s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 461s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 461s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 461s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 461s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 461s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 461s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 461s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 461s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 461s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 461s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 461s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 461s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 461s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 461s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 461s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 461s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 461s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 461s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 461s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 461s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 461s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 461s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 461s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 461s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 461s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 461s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 461s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 461s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 461s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 461s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 461s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 461s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 461s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 461s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 461s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 461s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 461s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 461s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 461s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 461s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 461s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 461s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 461s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 461s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 461s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 461s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 461s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 461s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 461s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 461s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 461s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 461s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 461s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 461s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 461s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 461s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 461s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 462s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 462s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 462s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 462s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 41%] 462s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 41%] 462s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 41%] 462s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 41%] 462s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 41%] 462s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 462s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 462s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 462s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 462s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 462s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 462s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 462s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 462s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 462s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 462s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 462s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 462s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 462s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 462s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 462s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 462s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 463s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 463s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 58%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 463s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 463s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 463s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 463s 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%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 463s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 463s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 463s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 463s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 463s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 463s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 463s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 463s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 463s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 463s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 463s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 463s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 463s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 463s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 463s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 463s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 464s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 464s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 464s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 464s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 464s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 465s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 465s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 465s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 465s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 465s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 465s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 465s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 465s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 465s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 465s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 465s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 466s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 466s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 466s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 466s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 84%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 466s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 85%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 466s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 466s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 466s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 466s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 466s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 466s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 466s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 86%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 466s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 466s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 466s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 466s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 466s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 466s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 466s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 466s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 466s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 466s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 466s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 467s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 467s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 92%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 467s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 467s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 467s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 467s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 467s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 467s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 467s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 467s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 468s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 468s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 468s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 468s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 469s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 469s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 469s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 469s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 469s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 469s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 469s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 469s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 469s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 469s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 469s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 469s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 469s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 469s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 469s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 469s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 469s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 469s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 470s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 470s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 470s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 470s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 470s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 470s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 470s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 470s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 470s 470s =============================== warnings summary =============================== 470s tests/translate/storage/test_cpo.py:15 470s Warning: 470s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 470s ImportError('gettext PO library not found') 470s In pytest 9.1 this warning will become an error by default. 470s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 470s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 470s 470s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 470s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gXIvWn/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 470s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 470s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 470s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 470s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 470s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 470s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 470s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 470s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 470s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 470s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 470s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 470s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 470s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 470s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 470s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 470s Warning: Could not find accesskey for key.accesskey 470s 470s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 470s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 470s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 470s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 470s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 470s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gXIvWn/autopkgtest_tmp/tests/translate/convert/test.idml'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 470s Warning: unclosed file <_io.BufferedReader name='translation.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 470s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 470s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 470s Warning: Could not find accesskey for prop.accesskey 470s 470s tests/translate/convert/test_po2tmx.py: 26 warnings 470s tests/translate/filters/test_pofilter.py: 13 warnings 470s tests/translate/storage/test_tbx.py: 17 warnings 470s tests/translate/storage/test_tmx.py: 24 warnings 470s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 470s 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 470s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 470s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 470s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 470s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 470s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 470s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 470s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 470s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 470s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 470s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 470s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.gXIvWn/autopkgtest_tmp/tests/translate/convert/test.odt'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 470s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 470s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 470s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 470s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 470s Enable tracemalloc to get traceback where the object was allocated. 470s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 470s 470s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 470s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 470s 470s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 470s Warning: DTD file '' does not validate 470s 470s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 470s --------------------------- snapshot report summary ---------------------------- 470s 23 snapshots passed. 470s =========================== short test summary info ============================ 470s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 470s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 470s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 470s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 470s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 470s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 470s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 470s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 470s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 470s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 470s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 470s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 470s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 470s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 470s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 470s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 470s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 470s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 470s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 470s 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. 470s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 470s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 470s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 470s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 470s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 470s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 470s 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 470s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 470s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 470s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 470s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 470s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 470s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 470s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 470s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 470s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 470s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 470s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 470s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 470s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 470s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 470s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 470s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 470s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 470s ========== 3298 passed, 3 skipped, 41 xfailed, 127 warnings in 19.86s ========== 471s autopkgtest [09:57:03]: test python3-translate-commands: -----------------------] 472s python3-translate-commands PASS 472s autopkgtest [09:57:04]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 472s autopkgtest [09:57:04]: @@@@@@@@@@@@@@@@@@@@ summary 472s translate-toolkit PASS 472s python3-translate PASS 472s python3-translate-commands PASS 484s nova [W] Skipping flock in bos03-arm64 484s Creating nova instance adt-plucky-arm64-translate-toolkit-20241030-094912-juju-7f2275-prod-proposed-migration-environment-15-816a03df-971e-470a-b815-8c51c964614f from image adt/ubuntu-plucky-arm64-server-20241029.img (UUID b10dda10-7c97-4e89-a4a8-9b73e189f96e)... 484s nova [W] Skipping flock in bos03-arm64 484s Creating nova instance adt-plucky-arm64-translate-toolkit-20241030-094912-juju-7f2275-prod-proposed-migration-environment-15-816a03df-971e-470a-b815-8c51c964614f from image adt/ubuntu-plucky-arm64-server-20241029.img (UUID b10dda10-7c97-4e89-a4a8-9b73e189f96e)... 484s nova [W] Skipping flock in bos03-arm64 484s Creating nova instance adt-plucky-arm64-translate-toolkit-20241030-094912-juju-7f2275-prod-proposed-migration-environment-15-816a03df-971e-470a-b815-8c51c964614f from image adt/ubuntu-plucky-arm64-server-20241029.img (UUID b10dda10-7c97-4e89-a4a8-9b73e189f96e)...