0s autopkgtest [02:30:19]: starting date and time: 2025-02-20 02:30:19+0000 0s autopkgtest [02:30:19]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [02:30:19]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ilvrxuku/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:sphinx --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/8.1.3-5 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-ppc64el-39.secgroup --name adt-plucky-ppc64el-translate-toolkit-20250220-004621-juju-7f2275-prod-proposed-migration-environment-2-b1107552-a28a-4a43-a934-8e2849e06113 --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-ppc64el -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,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 157s autopkgtest [02:32:56]: testbed dpkg architecture: ppc64el 157s autopkgtest [02:32:56]: testbed apt version: 2.9.30 157s autopkgtest [02:32:56]: @@@@@@@@@@@@@@@@@@@@ test bed setup 158s autopkgtest [02:32:57]: testbed release detected to be: None 158s autopkgtest [02:32:57]: updating testbed package index (apt update) 159s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 159s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 159s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 159s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 159s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [16.3 kB] 159s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 159s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [86.5 kB] 159s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [733 kB] 159s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [117 kB] 159s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [760 B] 159s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [690 kB] 159s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5948 B] 160s Fetched 1762 kB in 1s (1809 kB/s) 161s Reading package lists... 162s Reading package lists... 162s Building dependency tree... 162s Reading state information... 162s Calculating upgrade... 162s The following packages will be upgraded: 162s libcbor0.10 lto-disabled-list 163s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 163s Need to get 40.4 kB of archives. 163s After this operation, 1024 B of additional disk space will be used. 163s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcbor0.10 ppc64el 0.10.2-2ubuntu1 [28.1 kB] 163s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el lto-disabled-list all 56 [12.4 kB] 163s Fetched 40.4 kB in 0s (137 kB/s) 163s (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 ... 106420 files and directories currently installed.) 163s Preparing to unpack .../libcbor0.10_0.10.2-2ubuntu1_ppc64el.deb ... 163s Unpacking libcbor0.10:ppc64el (0.10.2-2ubuntu1) over (0.10.2-1.2ubuntu2) ... 164s Preparing to unpack .../lto-disabled-list_56_all.deb ... 164s Unpacking lto-disabled-list (56) over (54) ... 164s Setting up lto-disabled-list (56) ... 164s Setting up libcbor0.10:ppc64el (0.10.2-2ubuntu1) ... 164s Processing triggers for libc-bin (2.40-4ubuntu1) ... 164s Reading package lists... 164s Building dependency tree... 164s Reading state information... 164s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 165s autopkgtest [02:33:04]: upgrading testbed (apt dist-upgrade and autopurge) 165s Reading package lists... 165s Building dependency tree... 165s Reading state information... 165s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 166s Starting 2 pkgProblemResolver with broken count: 0 166s Done 166s Entering ResolveByKeep 166s 166s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 167s Reading package lists... 167s Building dependency tree... 167s Reading state information... 167s Starting pkgProblemResolver with broken count: 0 167s Starting 2 pkgProblemResolver with broken count: 0 167s Done 168s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 171s autopkgtest [02:33:10]: testbed running kernel: Linux 6.12.0-15-generic #15-Ubuntu SMP Tue Feb 4 16:32:08 UTC 2025 171s autopkgtest [02:33:10]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 174s Get:1 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.14.7-1 (dsc) [3193 B] 174s Get:2 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.14.7-1 (tar) [1176 kB] 174s Get:3 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.14.7-1 (diff) [24.3 kB] 175s gpgv: Signature made Mon Feb 10 10:23:38 2025 UTC 175s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 175s gpgv: Can't check signature: No public key 175s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.14.7-1.dsc: no acceptable signature found 175s autopkgtest [02:33:14]: testing package translate-toolkit version 3.14.7-1 175s autopkgtest [02:33:14]: build not needed 176s autopkgtest [02:33:15]: test translate-toolkit: preparing testbed 176s Reading package lists... 176s Building dependency tree... 176s Reading state information... 176s Starting pkgProblemResolver with broken count: 0 177s Starting 2 pkgProblemResolver with broken count: 0 177s Done 177s The following NEW packages will be installed: 177s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 177s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 177s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 177s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 177s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 177s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 177s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 177s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 177s python3-translate python3-tz python3-vobject python3-xapian subversion 177s translate-toolkit 177s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 177s Need to get 12.8 MB of archives. 177s After this operation, 72.9 MB of additional disk space will be used. 177s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 177s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el dictionaries-common all 1.30.4 [176 kB] 177s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgomp1 ppc64el 15-20250213-1ubuntu1 [168 kB] 177s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el gettext ppc64el 0.23.1-1 [1155 kB] 177s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el hunspell-en-us all 1:2020.12.07-3 [586 kB] 178s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 178s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu2 [112 kB] 178s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaspell15 ppc64el 0.60.8.1-4 [386 kB] 178s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 178s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3 [67.1 kB] 178s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libexttextcat-data all 3.4.7-1build1 [193 kB] 178s Get:12 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 178s Get:13 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libutf8proc3 ppc64el 2.9.0-1build1 [72.5 kB] 178s Get:14 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libsvn1 ppc64el 1.14.5-2 [1636 kB] 178s Get:15 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libxapian30 ppc64el 1.4.25-2 [815 kB] 178s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 178s Get:17 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-aeidon all 1.15-2 [231 kB] 178s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-soupsieve all 2.6-1 [33.0 kB] 178s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-bs4 all 4.13.3-1 [136 kB] 178s Get:20 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-charset-normalizer ppc64el 3.4.1-1 [149 kB] 178s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-cheroot all 10.0.1+ds1-3 [78.6 kB] 178s Get:22 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cwcwidth ppc64el 0.1.10-1 [28.6 kB] 178s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 178s Get:24 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 178s Get:25 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-enchant all 3.3.0~rc1-1 [35.1 kB] 178s Get:26 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-rapidfuzz ppc64el 3.12.1+ds-1 [1425 kB] 178s Get:27 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-levenshtein ppc64el 0.27.0-1 [153 kB] 178s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-lxml ppc64el 5.3.1-1 [1752 kB] 178s Get:29 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-mistletoe all 1.4.0-1 [38.2 kB] 178s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-ply all 3.11-7 [45.4 kB] 178s Get:31 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 178s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-pytz all 2025.1-3 [162 kB] 178s Get:33 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1 [214 kB] 178s Get:34 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 178s Get:35 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-translate all 3.14.7-1 [319 kB] 178s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-tz all 2025.1-3 [1866 B] 178s Get:37 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 178s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-xapian ppc64el 1.4.25-1build4 [544 kB] 178s Get:39 http://ftpmaster.internal/ubuntu plucky/universe ppc64el subversion ppc64el 1.14.5-2 [945 kB] 178s Get:40 http://ftpmaster.internal/ubuntu plucky/universe ppc64el translate-toolkit all 3.14.7-1 [81.5 kB] 178s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniparse all 0.5.1-1 [21.2 kB] 178s Get:42 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 178s Preconfiguring packages ... 178s Fetched 12.8 MB in 1s (11.6 MB/s) 178s Selecting previously unselected package emacsen-common. 178s (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 ... 106420 files and directories currently installed.) 178s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 179s Unpacking emacsen-common (3.0.5) ... 179s Selecting previously unselected package dictionaries-common. 179s Preparing to unpack .../01-dictionaries-common_1.30.4_all.deb ... 179s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 179s Unpacking dictionaries-common (1.30.4) ... 179s Selecting previously unselected package libgomp1:ppc64el. 179s Preparing to unpack .../02-libgomp1_15-20250213-1ubuntu1_ppc64el.deb ... 179s Unpacking libgomp1:ppc64el (15-20250213-1ubuntu1) ... 179s Selecting previously unselected package gettext. 179s Preparing to unpack .../03-gettext_0.23.1-1_ppc64el.deb ... 179s Unpacking gettext (0.23.1-1) ... 179s Selecting previously unselected package hunspell-en-us. 179s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-3_all.deb ... 179s Unpacking hunspell-en-us (1:2020.12.07-3) ... 179s Selecting previously unselected package libapr1t64:ppc64el. 179s Preparing to unpack .../05-libapr1t64_1.7.5-1_ppc64el.deb ... 179s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 179s Selecting previously unselected package libaprutil1t64:ppc64el. 179s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_ppc64el.deb ... 179s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 179s Selecting previously unselected package libaspell15:ppc64el. 179s Preparing to unpack .../07-libaspell15_0.60.8.1-4_ppc64el.deb ... 179s Unpacking libaspell15:ppc64el (0.60.8.1-4) ... 179s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 179s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 179s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 179s Selecting previously unselected package libenchant-2-2:ppc64el. 179s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_ppc64el.deb ... 179s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 179s Selecting previously unselected package libexttextcat-data. 179s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 179s Unpacking libexttextcat-data (3.4.7-1build1) ... 179s Selecting previously unselected package libserf-1-1:ppc64el. 179s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 179s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 179s Selecting previously unselected package libutf8proc3:ppc64el. 179s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_ppc64el.deb ... 179s Unpacking libutf8proc3:ppc64el (2.9.0-1build1) ... 179s Selecting previously unselected package libsvn1:ppc64el. 179s Preparing to unpack .../13-libsvn1_1.14.5-2_ppc64el.deb ... 179s Unpacking libsvn1:ppc64el (1.14.5-2) ... 179s Selecting previously unselected package libxapian30:ppc64el. 179s Preparing to unpack .../14-libxapian30_1.4.25-2_ppc64el.deb ... 179s Unpacking libxapian30:ppc64el (1.4.25-2) ... 179s Selecting previously unselected package libxslt1.1:ppc64el. 179s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 179s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 179s Selecting previously unselected package python3-aeidon. 179s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 179s Unpacking python3-aeidon (1.15-2) ... 179s Selecting previously unselected package python3-soupsieve. 179s Preparing to unpack .../17-python3-soupsieve_2.6-1_all.deb ... 179s Unpacking python3-soupsieve (2.6-1) ... 179s Selecting previously unselected package python3-bs4. 179s Preparing to unpack .../18-python3-bs4_4.13.3-1_all.deb ... 179s Unpacking python3-bs4 (4.13.3-1) ... 179s Selecting previously unselected package python3-charset-normalizer. 179s Preparing to unpack .../19-python3-charset-normalizer_3.4.1-1_ppc64el.deb ... 179s Unpacking python3-charset-normalizer (3.4.1-1) ... 179s Selecting previously unselected package python3-cheroot. 179s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-3_all.deb ... 179s Unpacking python3-cheroot (10.0.1+ds1-3) ... 179s Selecting previously unselected package python3-cwcwidth. 179s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1_ppc64el.deb ... 179s Unpacking python3-cwcwidth (0.1.10-1) ... 179s Selecting previously unselected package python3-dateutil. 179s Preparing to unpack .../22-python3-dateutil_2.9.0-3_all.deb ... 179s Unpacking python3-dateutil (2.9.0-3) ... 179s Selecting previously unselected package python3-diff-match-patch. 179s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 179s Unpacking python3-diff-match-patch (20241021-1) ... 179s Selecting previously unselected package python3-enchant. 179s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 179s Unpacking python3-enchant (3.3.0~rc1-1) ... 179s Selecting previously unselected package python3-rapidfuzz. 179s Preparing to unpack .../25-python3-rapidfuzz_3.12.1+ds-1_ppc64el.deb ... 179s Unpacking python3-rapidfuzz (3.12.1+ds-1) ... 179s Selecting previously unselected package python3-levenshtein. 179s Preparing to unpack .../26-python3-levenshtein_0.27.0-1_ppc64el.deb ... 179s Unpacking python3-levenshtein (0.27.0-1) ... 179s Selecting previously unselected package python3-lxml:ppc64el. 179s Preparing to unpack .../27-python3-lxml_5.3.1-1_ppc64el.deb ... 179s Unpacking python3-lxml:ppc64el (5.3.1-1) ... 180s Selecting previously unselected package python3-mistletoe. 180s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 180s Unpacking python3-mistletoe (1.4.0-1) ... 180s Selecting previously unselected package python3-ply. 180s Preparing to unpack .../29-python3-ply_3.11-7_all.deb ... 180s Unpacking python3-ply (3.11-7) ... 180s Selecting previously unselected package python3-phply. 180s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 180s Unpacking python3-phply (1.2.6-1) ... 180s Selecting previously unselected package python3-pytz. 180s Preparing to unpack .../31-python3-pytz_2025.1-3_all.deb ... 180s Unpacking python3-pytz (2025.1-3) ... 180s Selecting previously unselected package python3-ruamel.yaml.clib. 180s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1_ppc64el.deb ... 180s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1) ... 180s Selecting previously unselected package python3-ruamel.yaml. 180s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 180s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 180s Selecting previously unselected package python3-translate. 180s Preparing to unpack .../34-python3-translate_3.14.7-1_all.deb ... 180s Unpacking python3-translate (3.14.7-1) ... 180s Selecting previously unselected package python3-tz. 180s Preparing to unpack .../35-python3-tz_2025.1-3_all.deb ... 180s Unpacking python3-tz (2025.1-3) ... 180s Selecting previously unselected package python3-vobject. 180s Preparing to unpack .../36-python3-vobject_0.9.8+dfsg-2_all.deb ... 180s Unpacking python3-vobject (0.9.8+dfsg-2) ... 180s Selecting previously unselected package python3-xapian. 180s Preparing to unpack .../37-python3-xapian_1.4.25-1build4_ppc64el.deb ... 180s Unpacking python3-xapian (1.4.25-1build4) ... 180s Selecting previously unselected package subversion. 180s Preparing to unpack .../38-subversion_1.14.5-2_ppc64el.deb ... 180s Unpacking subversion (1.14.5-2) ... 180s Selecting previously unselected package translate-toolkit. 180s Preparing to unpack .../39-translate-toolkit_3.14.7-1_all.deb ... 180s Unpacking translate-toolkit (3.14.7-1) ... 180s Selecting previously unselected package python3-iniparse. 180s Preparing to unpack .../40-python3-iniparse_0.5.1-1_all.deb ... 180s Unpacking python3-iniparse (0.5.1-1) ... 180s Selecting previously unselected package python3-pycountry. 180s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 180s Unpacking python3-pycountry (24.6.1+ds1-1) ... 180s Setting up libxapian30:ppc64el (1.4.25-2) ... 180s Setting up python3-rapidfuzz (3.12.1+ds-1) ... 180s Setting up python3-diff-match-patch (20241021-1) ... 181s Setting up python3-aeidon (1.15-2) ... 181s Setting up libutf8proc3:ppc64el (2.9.0-1build1) ... 181s Setting up libaspell15:ppc64el (0.60.8.1-4) ... 181s Setting up python3-charset-normalizer (3.4.1-1) ... 181s Setting up python3-ply (3.11-7) ... 181s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1) ... 181s Setting up python3-pytz (2025.1-3) ... 181s Setting up libgomp1:ppc64el (15-20250213-1ubuntu1) ... 181s Setting up python3-tz (2025.1-3) ... 181s Setting up emacsen-common (3.0.5) ... 181s Setting up python3-cheroot (10.0.1+ds1-3) ... 182s Setting up python3-pycountry (24.6.1+ds1-1) ... 182s Setting up python3-xapian (1.4.25-1build4) ... 182s Setting up python3-cwcwidth (0.1.10-1) ... 182s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 182s Setting up python3-mistletoe (1.4.0-1) ... 183s Setting up libexttextcat-data (3.4.7-1build1) ... 183s Setting up libapr1t64:ppc64el (1.7.5-1) ... 183s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 183s Setting up python3-dateutil (2.9.0-3) ... 183s Setting up python3-levenshtein (0.27.0-1) ... 183s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 183s Setting up python3-soupsieve (2.6-1) ... 183s Setting up python3-iniparse (0.5.1-1) ... 183s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 183s Setting up python3-vobject (0.9.8+dfsg-2) ... 183s Setting up gettext (0.23.1-1) ... 183s Setting up python3-phply (1.2.6-1) ... 184s Setting up dictionaries-common (1.30.4) ... 184s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 184s Setting up python3-bs4 (4.13.3-1) ... 184s Setting up python3-lxml:ppc64el (5.3.1-1) ... 185s Setting up hunspell-en-us (1:2020.12.07-3) ... 185s Setting up libsvn1:ppc64el (1.14.5-2) ... 185s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 185s Setting up subversion (1.14.5-2) ... 185s Setting up python3-enchant (3.3.0~rc1-1) ... 185s Setting up python3-translate (3.14.7-1) ... 185s Setting up translate-toolkit (3.14.7-1) ... 185s Processing triggers for libc-bin (2.40-4ubuntu1) ... 185s Processing triggers for man-db (2.13.0-1) ... 187s Processing triggers for install-info (7.1.1-1) ... 187s Processing triggers for dictionaries-common (1.30.4) ... 189s autopkgtest [02:33:28]: test translate-toolkit: [----------------------- 189s ========= SMOKE TEST: /usr/bin/android2po =========== 189s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 189s 189s Convert Android string files to Gettext PO localization files. See: 189s http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/android2po.html for examples and usage 189s instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in xml format 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -t TEMPLATE, --template=TEMPLATE 189s read from TEMPLATE in xml format 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s --duplicates=DUPLICATESTYLE 189s what to do with duplicate strings (identical source 189s text): merge, msgctxt (default: 'msgctxt') 189s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 189s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 189s input files [input files ...] 189s 189s positional arguments: 189s input files 189s 189s options: 189s -h, --help show this help message and exit 189s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 189s -s, --import-source-lang SOURCE_LANG 189s source language of translation files (default: en) 189s -t, --import-target-lang TARGET_LANG 189s target language of translation files 189s ========= SMOKE TEST: /usr/bin/csv2po =========== 189s 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] 189s 189s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 189s See: http://docs.translatehouse.org/projects/translate- 189s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 189s 189s Options: 189s --version show program's version number and exit 189s -h, --help show this help message and exit 189s --manpage output a manpage based on the help 189s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 189s --errorlevel=ERRORLEVEL 189s show errorlevel as: none, message, exception, 189s traceback 189s -i INPUT, --input=INPUT 189s read from INPUT in csv format 189s -x EXCLUDE, --exclude=EXCLUDE 189s exclude names matching EXCLUDE from input paths 189s -o OUTPUT, --output=OUTPUT 189s write to OUTPUT in po, pot formats 189s -t TEMPLATE, --template=TEMPLATE 189s read from TEMPLATE in po, pot, pot formats 189s -S, --timestamp skip conversion if the output file has newer timestamp 189s -P, --pot output PO Templates (.pot) rather than PO files (.po) 189s --charset=CHARSET set charset to decode from csv files 189s --columnorder=COLUMNORDER 189s specify the order and position of columns 189s (location,source,target,context) 189s --duplicates=DUPLICATESTYLE 189s what to do with duplicate strings (identical source 189s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 190s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 190s 190s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 190s glossary file. See: http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in csv format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in tbx format 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s --charset=CHARSET set charset to decode from csv files 190s --columnorder=COLUMNORDER 190s specify the order and position of columns 190s (comment,source,target) 190s ========= SMOKE TEST: /usr/bin/dtd2po =========== 190s 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] 190s 190s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 190s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 190s this module You can convert back to .dtd using po2dtd.py. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in dtd format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -t TEMPLATE, --template=TEMPLATE 190s read from TEMPLATE in dtd format 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -P, --pot output PO Templates (.pot) rather than PO files (.po) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 190s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 190s 190s Convert flat XML files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/flatxml2po.html for examples and usage 190s instructions. 190s 190s Options: 190s --version show program's version number and exit 190s -h, --help show this help message and exit 190s --manpage output a manpage based on the help 190s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 190s --errorlevel=ERRORLEVEL 190s show errorlevel as: none, message, exception, 190s traceback 190s -i INPUT, --input=INPUT 190s read from INPUT in xml format 190s -x EXCLUDE, --exclude=EXCLUDE 190s exclude names matching EXCLUDE from input paths 190s -o OUTPUT, --output=OUTPUT 190s write to OUTPUT in po, pot formats 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s -r ROOT, --root=ROOT name of the XML root element (default: "root") 190s -v VALUE, --value=VALUE 190s name of the XML value element (default: "str") 190s -k KEY, --key=KEY name of the XML key attribute (default: "key") 190s -n NS, --namespace=NS 190s XML namespace uri (default: None) 190s ========= SMOKE TEST: /usr/bin/html2po =========== 191s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 191s 191s Convert HTML files to Gettext PO localization files. See: 191s http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in htm, html, xhtml formats 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s -P, --pot output PO Templates (.pot) rather than PO files (.po) 191s --keepcomments preserve html comments as translation notes in the 191s output 191s --duplicates=DUPLICATESTYLE 191s what to do with duplicate strings (identical source 191s text): merge, msgctxt (default: 'msgctxt') 191s --multifile=MULTIFILESTYLE 191s how to split po/pot files (single, toplevel or 191s onefile) 191s ========= SMOKE TEST: /usr/bin/ical2po =========== 191s 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] 191s 191s Convert iCalendar files to Gettext PO localization files. See: 191s http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in ics format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -t TEMPLATE, --template=TEMPLATE 191s read from TEMPLATE in ics format 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s -P, --pot output PO Templates (.pot) rather than PO files (.po) 191s --duplicates=DUPLICATESTYLE 191s what to do with duplicate strings (identical source 191s text): merge, msgctxt (default: 'msgctxt') 191s ========= SMOKE TEST: /usr/bin/idml2po =========== 191s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 191s 191s Convert IDML files to PO localization files. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in idml format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s ========= SMOKE TEST: /usr/bin/ini2po =========== 192s 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] 192s 192s Convert .ini files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in ini, isl, iss formats 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -t TEMPLATE, --template=TEMPLATE 192s read from TEMPLATE in ini, isl, iss formats 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 192s ========= SMOKE TEST: /usr/bin/json2po =========== 192s 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] 192s 192s Convert JSON files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in json format 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -t TEMPLATE, --template=TEMPLATE 192s read from TEMPLATE in json format 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 192s everything) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 192s ========= SMOKE TEST: /usr/bin/md2po =========== 192s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 192s 192s Convert Markdown files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in markdown, md, text, txt formats 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 192s --multifile=MULTIFILESTYLE 192s how to split po/pot files (single, toplevel or 192s onefile) 193s ========= SMOKE TEST: /usr/bin/moz2po =========== 193s 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] 193s 193s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 193s See: http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in *, dtd, inc, ini, it, js, lang, 193s manifest, properties, rdf formats 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 193s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 193s lang.pot, manifest, properties.po, properties.pot, rdf 193s formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 193s manifest, properties, rdf formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 193s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 193s 193s Convert Mozilla .lang files to Gettext PO localization files. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in lang format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --encoding=ENCODING The encoding of the input file (default: UTF-8) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/msghack =========== 193s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 193s This program can be used to alter .po files in ways no sane mind would think about. 193s -o result will be written to FILE 193s --invert invert a po file by switching msgid and msgstr 193s --master join any number of files in a master-formatted catalog 193s --empty empty the contents of the .po file, creating a .pot 193s --append append entries from ref.po that don't exist in file.po 193s 193s Note: It is just a replacement of msghack for backward support. 193s 193s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 194s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 194s 194s Convert OpenDocument (ODF) files to XLIFF localization files. See: 194s http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 194s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 194s formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in xlf, xliff formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s ========= SMOKE TEST: /usr/bin/oo2po =========== 194s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 194s 194s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 194s files. See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in oo, sdf formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s -l LANG, --language=LANG 194s set target language to extract from oo file (e.g. af- 194s ZA) 194s --source-language=LANG 194s set source language code (default en-US) 194s --nonrecursiveinput don't treat the input oo as a recursive store 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s --multifile=MULTIFILESTYLE 194s how to split po/pot files (single, toplevel or 194s onefile) 194s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 194s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 194s 194s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 194s files. See: http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in oo, sdf formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in xlf, xliff formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -l LANG, --language=LANG 194s set target language to extract from oo file (e.g. af- 194s ZA) 194s --source-language=LANG 194s set source language code (default en-US) 194s --nonrecursiveinput don't treat the input oo as a recursive store 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s --multifile=MULTIFILESTYLE 194s how to split po/pot files (single, toplevel or 194s onefile) 194s ========= SMOKE TEST: /usr/bin/php2po =========== 194s 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] 194s 194s Convert PHP localization files to Gettext PO localization files. See: 194s http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in html, php formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -t TEMPLATE, --template=TEMPLATE 194s read from TEMPLATE in html, php formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 195s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 195s 195s Convert PHP format .po files to Python format .po files. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s ========= SMOKE TEST: /usr/bin/po2csv =========== 195s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 195s 195s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 195s See: http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in csv format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s --columnorder=COLUMNORDER 195s specify the order and position of columns 195s (location,source,target,context) 195s ========= SMOKE TEST: /usr/bin/po2dtd =========== 195s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 195s 195s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 195s Conversion is either done using a template plus PO file or just using the 195s .po file. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in dtd format 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in dtd format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s --threshold=PERCENT only convert files where the translation completion is 195s above PERCENT 195s --fuzzy use translations marked fuzzy 195s --nofuzzy don't use translations marked fuzzy (default) 195s --removeuntranslated remove untranslated strings from output 195s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 195s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 195s 195s Convert Gettext PO localization files to flat XML files. See: 195s http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/flatxml2po.html for examples and usage 195s instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in po, pot formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in xml format 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in xml format 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -r ROOT, --root=ROOT name of the XML root element (default: "root") 195s -v VALUE, --value=VALUE 195s name of the XML value element (default: "str") 195s -k KEY, --key=KEY name of the XML key attribute (default: "key") 195s -n NS, --namespace=NS 195s XML namespace uri (default: None) 195s -w INDENT, --indent=INDENT 195s indent width in spaces, 0 for no indent (default: 2) 195s ========= SMOKE TEST: /usr/bin/po2html =========== 196s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Translate HTML files using Gettext PO localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in htm, html, xhtml formats 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in htm, html, xhtml formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s ========= SMOKE TEST: /usr/bin/po2ical =========== 196s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Convert Gettext PO localization files to iCalendar files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in ics format 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in ics format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s ========= SMOKE TEST: /usr/bin/po2idml =========== 196s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Takes an IDML template file and a PO file containing translations of strings 196s in the IDML template. It creates a new IDML file using the translations of the 196s PO file. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in idml format 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in idml format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s ========= SMOKE TEST: /usr/bin/po2ini =========== 196s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Convert Gettext PO localization files to .ini files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in ini, isl formats 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in ini, isl formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s ========= SMOKE TEST: /usr/bin/po2json =========== 196s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 196s 196s Convert Gettext PO localization files to JSON files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in po, pot formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in json format 196s -t TEMPLATE, --template=TEMPLATE 196s read from TEMPLATE in json format 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s --threshold=PERCENT only convert files where the translation completion is 196s above PERCENT 196s --fuzzy use translations marked fuzzy 196s --nofuzzy don't use translations marked fuzzy (default) 196s --removeuntranslated remove untranslated strings from output 197s ========= SMOKE TEST: /usr/bin/po2md =========== 197s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 197s 197s Translate Markdown files using Gettext PO localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in po, pot formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in markdown, md, text, txt formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in markdown, md, text, txt formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -m MAXLENGTH, --maxlinelength=MAXLENGTH 197s reflow (word wrap) the output to the given maximum 197s line length. set to 0 to disable 197s --threshold=PERCENT only convert files where the translation completion is 197s above PERCENT 197s --fuzzy use translations marked fuzzy 197s --nofuzzy don't use translations marked fuzzy (default) 197s ========= SMOKE TEST: /usr/bin/po2moz =========== 198s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 198s See: http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in *, dtd.po, dtd.pot, inc.po, 198s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 198s lang.pot, manifest, properties.po, properties.pot, rdf 198s formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 198s manifest, properties, rdf formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 198s manifest, properties, rdf formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -l LOCALE, --locale=LOCALE 198s set output locale (required as this sets the directory 198s names) 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s --removeuntranslated remove untranslated strings from output 198s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 198s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to Mozilla .lang files. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in lang format 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in lang format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --mark-active mark the file as active 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s ========= SMOKE TEST: /usr/bin/po2oo =========== 198s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 198s file. See: http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot, xlf, xliff formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in oo, sdf formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in oo, sdf formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -l LANG, --language=LANG 198s set target language code (e.g. af-ZA) [required] 198s --source-language=LANG 198s set source language code (default en-US) 198s -T, --keeptimestamp don't change the timestamps of the strings 198s --nonrecursiveoutput don't treat the output oo as a recursive store 198s --nonrecursivetemplate 198s don't treat the template oo as a recursive store 198s --skipsource don't output the source language, but fallback to it 198s where needed 198s --filteraction=ACTION 198s action on pofilter failure: none (default), warn, 198s exclude-serious, exclude-all 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s --multifile=MULTIFILESTYLE 198s how to split po/pot files (single, toplevel or 198s onefile) 198s ========= SMOKE TEST: /usr/bin/po2php =========== 198s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to PHP localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in html, php formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in html, php formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2prop =========== 199s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files to Java/Mozilla .properties files. 199s See: http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in lang, properties, strings formats 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in lang, properties, strings 199s formats 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --personality=TYPE override the input file format: java, java-utf8, java- 199s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 199s strings, strings-utf8, joomla (for .properties files, 199s default: java) 199s --encoding=ENCODING override the encoding set by the personality 199s --threshold=PERCENT only convert files where the translation completion is 199s above PERCENT 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s --removeuntranslated remove untranslated strings from output 199s ========= SMOKE TEST: /usr/bin/po2rc =========== 199s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files back to Windows Resource (.rc) files. 199s See: http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in rc format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in rc format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --charset=CHARSET charset to use to decode the template RC files 199s (default: utf-8) 199s --charset-output=CHARSET 199s charset to use to encode the RC file (default: auto) 199s -l LANG, --lang=LANG LANG entry 199s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 199s --threshold=PERCENT only convert files where the translation completion is 199s above PERCENT 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2resx =========== 200s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in resx format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in resx format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2sub =========== 200s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to subtitle files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in ass, srt, ssa, sub formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in ass, srt, ssa, sub formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2symb =========== 200s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to Symbian translation files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in r0 format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --duplicates=DUPLICATESTYLE 200s what to do with duplicate strings (identical source 200s text): merge, msgctxt (default: 'msgctxt') 200s ========= SMOKE TEST: /usr/bin/po2tiki =========== 200s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 200s 200s Convert Gettext PO files to TikiWiki's language.php files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in tiki format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s ========= SMOKE TEST: /usr/bin/po2tmx =========== 200s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 200s 200s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 200s file. See: http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in tmx format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s -l LANG, --language=LANG 200s set target language code (e.g. af-ZA) [required] 200s --source-language=LANG 200s set source language code (default: en) 200s --comments=COMMENT set default comment import: none, source, type or 200s others (default: none) 201s ========= SMOKE TEST: /usr/bin/po2ts =========== 201s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in ts format 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in ts format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -c CONTEXT, --context=CONTEXT 201s use supplied context instead of the one in the .po 201s file comment 201s ========= SMOKE TEST: /usr/bin/po2txt =========== 201s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to plain text (.txt) files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot, xlf, xliff formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in txt format 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in txt format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --encoding=ENCODING The encoding of the template file (default: UTF-8) 201s -w WRAP, --wrap=WRAP set number of columns to wrap text at 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/po2web2py =========== 201s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 201s 201s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in py format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 201s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 201s 201s Convert Gettext PO localization files to a Wordfast translation memory file. 201s See: http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/po2wordfast.html for examples and usage 201s instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in txt format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -l LANG, --language=LANG 201s set target language code (e.g. af-ZA) [required] 201s --source-language=LANG 201s set source language code (default: en) 201s ========= SMOKE TEST: /usr/bin/po2xliff =========== 201s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to XLIFF localization files. See: 201s http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in xlf, xliff formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in xlf, xliff formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 202s ========= SMOKE TEST: /usr/bin/po2yaml =========== 202s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to YAML files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in yaml, yml formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in yaml, yml formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/poclean =========== 202s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 202s 202s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 202s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 202s produces the target file with only the target text in from a text version of 202s the RTF. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot, xlf, xliff formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in po, pot, xlf, xliff formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s ========= SMOKE TEST: /usr/bin/pocompendium =========== 202s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 202s The first parameter is the output file, standard output if the output file is '-'. 202s Any number of directories may be specified for input files. 202s Options: 202s --invert|v Creates an inverse compendium with msgid and msgstr swapped 202s --errors|e Only ouput msg bundles that have errors 202s --correct|c Only ouput msg bundles that are correctly translated 202s --ignore-case|i Drops all strings to lowercase 202s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 202s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 202s --strip-accel-under|-su Strip all underscore (_) accelerator characters 202s ========= SMOKE TEST: /usr/bin/pocompile =========== 202s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 202s 202s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 202s Object) files. See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot, xlf, xliff formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in mo format 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/poconflicts =========== 202s 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] 202s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 202s 202s Conflict finder for Gettext PO localization files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/poconflicts.html for examples and usage 202s instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po format 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in po format 202s -I, --ignore-case ignore case distinctions 202s -v, --invert invert the conflicts thus extracting conflicting 202s destination words 202s --accelerator=ACCELERATORS 202s ignores the given accelerator characters when matching 202s ========= SMOKE TEST: /usr/bin/pocount =========== 202s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 202s --short-strings | --short-words] [--no-color] 202s files [files ...] 202s 202s positional arguments: 202s files 202s 202s options: 202s -h, --help show this help message and exit 202s --incomplete skip 100% translated files. 202s 202s Output format: 202s --full (default) statistics in full, verbose format 202s --csv statistics in CSV format 202s --short same as --short-strings 202s --short-strings statistics of strings in short format - one line per file 202s --short-words statistics of words in short format - one line per file 202s --no-color show output without color 203s ========= SMOKE TEST: /usr/bin/podebug =========== 203s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 203s 203s Insert debug messages into XLIFF and Gettext PO localization files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot, pot, tmx, xlf, xliff 203s formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot, tmx, xlf, xliff formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s -f FORMAT, --format=FORMAT 203s specify format string 203s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 203s classified, en, flipped, unicode, xxx 203s --ignore=APPLICATION apply tagging ignore rules for the given application: 203s gtk, kde, libreoffice, mozilla, openoffice 203s --preserveplaceholders 203s attempt to exclude characters that are part of 203s placeholders when performing character-level rewrites 203s so that consuming applications can still use the 203s placeholders to generate final output 203s ========= SMOKE TEST: /usr/bin/pofilter =========== 203s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 203s 203s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 203s Snippet files are created whenever a test fails. These can be examined, 203s corrected and merged back into the originals using pomerge. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 203s and http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 203s tests. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot, tmx, xlf, xliff formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot, tmx, xlf, xliff formats 203s -l, --listfilters list filters available 203s --review include units marked for review (default) 203s --noreview exclude units marked for review 203s --fuzzy include units marked fuzzy (default) 203s --nofuzzy exclude units marked fuzzy 203s --nonotes don't add notes about the errors 203s --autocorrect output automatic corrections where possible rather 203s than describing issues 203s --language=LANG set target language code (e.g. af-ZA) [required for 203s spell check and recommended in general] 203s --openoffice use the standard checks for OpenOffice translations 203s --libreoffice use the standard checks for LibreOffice translations 203s --mozilla use the standard checks for Mozilla translations 203s --drupal use the standard checks for Drupal translations 203s --gnome use the standard checks for Gnome translations 203s --kde use the standard checks for KDE translations 203s --wx use the standard checks for wxWidgets translations 203s --excludefilter=FILTER 203s don't use FILTER when filtering 203s -t FILTER, --test=FILTER 203s only use test FILTERs specified with this option when 203s filtering 203s --notranslatefile=FILE 203s read list of untranslatable words from FILE (must not 203s be translated) 203s --musttranslatefile=FILE 203s read list of translatable words from FILE (must be 203s translated) 203s --validcharsfile=FILE 203s read list of all valid characters from FILE (must be 203s in UTF-8) 203s ========= SMOKE TEST: /usr/bin/pogrep =========== 203s 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] 203s 203s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 203s snippet files of the same type which can then be reviewed and later merged 203s using :doc:`pomerge `. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 203s xliff formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 203s xliff formats 203s --search=SEARCHPARTS searches the given parts (source, target, notes and 203s locations) 203s -I, --ignore-case ignore case distinctions 203s -e, --regexp use regular expression matching 203s -v, --invert-match select non-matching lines 203s --accelerator=ACCELERATOR 203s ignores the given accelerator when matching 203s -k, --keep-translations 203s always extract units with translations 203s ========= SMOKE TEST: /usr/bin/pomerge =========== 203s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Merges XLIFF and Gettext PO localization files. Snippet file produced by 203s e.g. :doc:`pogrep ` and updated by a translator can be 203s merged back into the original files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot, pot, xlf, xliff formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in po, pot, pot, xlf, xliff formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in po, pot, pot, xlf, xliff formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --mergeblanks=MERGEBLANKS 203s whether to overwrite existing translations with blank 203s translations (yes/no). Default is yes. 203s --mergefuzzy=MERGEFUZZY 203s whether to consider fuzzy translations from input 203s (yes/no). Default is yes. 203s --mergecomments=MERGECOMMENTS 203s whether to merge comments as well as translations 203s (yes/no). Default is yes. 203s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 203s Usage pomigrate2 [options] 203s 203s Options: 203s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 203s -C|--use-compendium - create and use a compendium built from the migrating files 203s -C|--use-compendium=some-compendium.po 203s - use an external compendium during the migration 203s --no-wrap - do not wrap long lines 203s --locale=lang - set locale for newly born files 203s -q|--quiet - suppress most output 203s -p|--pot2po - use pot2po instead of msgmerge to migrate 203s ========= SMOKE TEST: /usr/bin/popuretext =========== 203s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 203s ========= SMOKE TEST: /usr/bin/poreencode =========== 203s Usage: poreencode 203s eg: poreencode UTF-8 af/ 203s ========= SMOKE TEST: /usr/bin/porestructure =========== 204s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 204s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 204s 204s Restructure Gettxt PO files produced by :doc:`poconflicts 204s ` into the original directory tree for merging using 204s :doc:`pomerge `. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po format 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po format 204s ========= SMOKE TEST: /usr/bin/posegment =========== 204s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 204s 204s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 204s See: http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot, tmx, xlf, xliff formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot, tmx, xlf, xliff formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s -l LANG, --language=LANG 204s the target language code 204s --source-language=LANG 204s the source language code (default 'en') 204s --keepspaces Disable automatic stripping of whitespace 204s --only-aligned Removes units where sentence number does not 204s correspond 204s ========= SMOKE TEST: /usr/bin/poswap =========== 204s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 204s 204s Builds a new translation file with the target of the input language as source 204s language. .. note:: Ensure that the two po files correspond 100% to the same 204s pot file before using this. To translate Kurdish (ku) through French:: 204s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 204s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in po, pot, pot formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --reverse reverse the process of intermediate language 204s conversion 204s ========= SMOKE TEST: /usr/bin/pot2po =========== 204s 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] 204s 204s Convert template files (like .pot or template .xlf files) to translation 204s files, preserving existing translations. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 204s formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 204s xliff formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 204s xliff formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s -P, --pot output PO Templates (.pot) rather than PO files (.po) 204s --tm=TM The file to use as translation memory when fuzzy 204s matching 204s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 204s The minimum similarity for inclusion (default: 75%) 204s --nofuzzymatching Disable fuzzy matching 204s ========= SMOKE TEST: /usr/bin/poterminology =========== 204s 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] 204s input directory is searched for PO files, terminology PO file is output file 204s 204s Create a terminology file by reading a set of .po or .pot files to produce a 204s pootle-terminology.pot. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/poterminology.html for examples and usage 204s instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in po, pot formats 204s -u UPDATEFILE, --update=UPDATEFILE 204s update terminology in UPDATEFILE 204s -S STOPFILE, --stopword-list=STOPFILE 204s read stopword (term exclusion) list from STOPFILE 204s (default /usr/share/pyshared/translate/share/stoplist- 204s en) 204s -F, --fold-titlecase fold "Title Case" to lowercase (default) 204s -C, --preserve-case preserve all uppercase/lowercase 204s -I, --ignore-case make all terms lowercase 204s --accelerator=ACCELERATORS 204s ignore the given accelerator characters when matching 204s -t LENGTH, --term-words=LENGTH 204s generate terms of up to LENGTH words (default 3) 204s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 204s 1) 204s --inputs-needed=MIN omit terms appearing in less than MIN input files 204s (default 2, or 1 if only one input file) 204s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 204s different messages (default 1) 204s --substr-needed=MIN omit substring-only terms appearing in less than MIN 204s different messages (default 2) 204s --locs-needed=MIN omit terms appearing in less than MIN different 204s original source files (default 2) 204s --sort=ORDER output sort order(s): frequency, dictionary, length 204s (may repeat option, default is all in above order) 204s --source-language=LANG 204s the source language code (default 'en') 204s -v, --invert invert the source and target languages for terminology 204s ========= SMOKE TEST: /usr/bin/pretranslate =========== 205s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Fill localization files with suggested translations based on translation 205s memory and existing translations. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/pretranslate.html for examples and usage 205s instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot, xlf, xliff formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in po, pot, xlf, xliff formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --tm=TM The file to use as translation memory when fuzzy 205s matching 205s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 205s The minimum similarity for inclusion (default: 75%) 205s --nofuzzymatching Disable fuzzy matching 205s ========= SMOKE TEST: /usr/bin/prop2po =========== 205s 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] 205s 205s Convert Java/Mozilla .properties files to Gettext PO localization files. 205s See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in lang, properties, strings formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in lang, properties, strings 205s formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --personality=TYPE override the input file format: java, java-utf8, java- 205s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 205s strings, strings-utf8, joomla (for .properties files, 205s default: java) 205s --encoding=ENCODING override the encoding set by the personality 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/pydiff =========== 205s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 205s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 205s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 205s fromfile tofile 205s 205s positional arguments: 205s fromfile 205s tofile 205s 205s options: 205s -h, --help show this help message and exit 205s -i, --ignore-case Ignore case differences in file contents. 205s -U, --unified NUM Output NUM (default 3) lines of unified context 205s -r, --recursive Recursively compare any subdirectories found. 205s -N, --new-file Treat absent files as empty. 205s --unidirectional-new-file 205s Treat absent first files as empty. 205s -s, --report-identical-files 205s Report when two files are the same. 205s -x, --exclude PAT Exclude files that match PAT. 205s --fromcontains TEXT Only show changes where fromfile contains TEXT 205s --tocontains TEXT Only show changes where tofile contains TEXT 205s --contains TEXT Only show changes where fromfile or tofile contains 205s TEXT 205s -I, --ignore-case-contains 205s Ignore case differences when matching any of the 205s changes 205s --accelerator ACCELERATORS 205s ignores the given accelerator characters when matching 205s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 205s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Convert Python format .po files to PHP format .po files. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s ========= SMOKE TEST: /usr/bin/rc2po =========== 205s 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] 205s 205s Convert Windows RC files to Gettext PO localization files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in nls, rc formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in po, pot formats 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in nls, rc formats 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -P, --pot output PO Templates (.pot) rather than PO files (.po) 205s --charset=CHARSET charset to use to decode the RC files (autodetection 205s is used by default) 205s -l LANG, --lang=LANG LANG entry (default: None) 205s --sublang=SUBLANG SUBLANG entry (default: None) 205s --duplicates=DUPLICATESTYLE 205s what to do with duplicate strings (identical source 205s text): merge, msgctxt (default: 'msgctxt') 205s ========= SMOKE TEST: /usr/bin/resx2po =========== 206s 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] 206s 206s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in resx format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in resx format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 206s everything) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/sub2po =========== 206s 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] 206s 206s Convert subtitle files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in ass, srt, ssa, sub formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in ass, srt, ssa, sub formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/symb2po =========== 206s 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] 206s 206s Convert Symbian localisation files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in r01 format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -P, --pot output PO Templates (.pot) rather than PO files (.po) 206s --duplicates=DUPLICATESTYLE 206s what to do with duplicate strings (identical source 206s text): merge, msgctxt (default: 'msgctxt') 206s ========= SMOKE TEST: /usr/bin/tbx2po =========== 206s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in tbx format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s ========= SMOKE TEST: /usr/bin/tiki2po =========== 206s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert TikiWiki's language.php files to Gettext PO localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in php format 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in po, pot formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --include-unused Include strings in the unused section 206s ========= SMOKE TEST: /usr/bin/tmserver =========== 206s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 206s [-s SOURCE_LANG] [-b BIND] [-p PORT] 206s [--max-candidates MAX_CANDIDATES] 206s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 206s [--debug] 206s 206s options: 206s -h, --help show this help message and exit 206s -d, --tmdb TMDBFILE translation memory database file 206s -f, --import-translation-file TMFILES 206s translation file to import into the database 206s -t, --import-target-lang TARGET_LANG 206s target language of translation files 206s -s, --import-source-lang SOURCE_LANG 206s source language of translation files 206s -b, --bind BIND address to bind server to (default: localhost) 206s -p, --port PORT port to listen on (default: 8888) 206s --max-candidates MAX_CANDIDATES 206s Maximum number of candidates 206s --min-similarity MIN_SIMILARITY 206s minimum similarity 206s --max-length MAX_LENGTH 206s Maxmimum string length 206s --debug enable debugging features 207s ========= SMOKE TEST: /usr/bin/ts2po =========== 207s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in ts format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/txt2po =========== 207s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert plain text (.txt) files to Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in *, txt formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --encoding=ENCODING The encoding of the input file (default: UTF-8) 207s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 207s mediawiki 207s --no-segmentation Don't segment the file, treat it like a single message 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/web2py2po =========== 207s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 207s 207s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in py format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s -P, --pot output PO Templates (.pot) rather than PO files (.po) 207s --duplicates=DUPLICATESTYLE 207s what to do with duplicate strings (identical source 207s text): merge, msgctxt (default: 'msgctxt') 207s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 207s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 207s 207s Convert XLIFF translation files to OpenDocument (ODF) files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in xlf format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 207s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 207s -t TEMPLATE, --template=TEMPLATE 207s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 207s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 207s formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 208s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 208s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 208s 208s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 208s file. See: http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot, xlf, xliff formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in oo, sdf formats 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in oo, sdf formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -l LANG, --language=LANG 208s set target language code (e.g. af-ZA) [required] 208s --source-language=LANG 208s set source language code (default en-US) 208s -T, --keeptimestamp don't change the timestamps of the strings 208s --nonrecursiveoutput don't treat the output oo as a recursive store 208s --nonrecursivetemplate 208s don't treat the template oo as a recursive store 208s --skipsource don't output the source language, but fallback to it 208s where needed 208s --filteraction=ACTION 208s action on pofilter failure: none (default), warn, 208s exclude-serious, exclude-all 208s --fuzzy use translations marked fuzzy 208s --nofuzzy don't use translations marked fuzzy (default) 208s --multifile=MULTIFILESTYLE 208s how to split po/pot files (single, toplevel or 208s onefile) 208s ========= SMOKE TEST: /usr/bin/xliff2po =========== 208s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 208s 208s Convert XLIFF localization files to Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in xlf, xliff formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -P, --pot output PO Templates (.pot) rather than PO files (.po) 208s --duplicates=DUPLICATESTYLE 208s what to do with duplicate strings (identical source 208s text): merge, msgctxt (default: 'msgctxt') 208s ========= SMOKE TEST: /usr/bin/yaml2po =========== 208s 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] 208s 208s Convert YAML files to Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in yaml, yml formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot formats 208s -t TEMPLATE, --template=TEMPLATE 208s read from TEMPLATE in yaml, yml formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -P, --pot output PO Templates (.pot) rather than PO files (.po) 208s --duplicates=DUPLICATESTYLE 208s what to do with duplicate strings (identical source 208s text): merge, msgctxt (default: 'msgctxt') 209s autopkgtest [02:33:48]: test translate-toolkit: -----------------------] 210s translate-toolkit PASS 210s autopkgtest [02:33:49]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 210s autopkgtest [02:33:49]: test python3-translate: preparing testbed 351s autopkgtest [02:36:10]: testbed dpkg architecture: ppc64el 352s autopkgtest [02:36:11]: testbed apt version: 2.9.30 352s autopkgtest [02:36:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 352s autopkgtest [02:36:11]: testbed release detected to be: plucky 353s autopkgtest [02:36:12]: updating testbed package index (apt update) 354s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 354s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 354s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 354s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 354s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [86.5 kB] 354s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [733 kB] 354s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 354s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [16.3 kB] 354s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [117 kB] 354s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [760 B] 354s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [690 kB] 355s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5948 B] 355s Fetched 1762 kB in 1s (1445 kB/s) 356s Reading package lists... 356s Reading package lists... 356s Building dependency tree... 356s Reading state information... 357s Calculating upgrade... 357s The following packages will be upgraded: 357s libcbor0.10 lto-disabled-list 357s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 357s Need to get 40.4 kB of archives. 357s After this operation, 1024 B of additional disk space will be used. 357s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcbor0.10 ppc64el 0.10.2-2ubuntu1 [28.1 kB] 357s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el lto-disabled-list all 56 [12.4 kB] 357s Fetched 40.4 kB in 0s (131 kB/s) 358s (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 ... 106420 files and directories currently installed.) 358s Preparing to unpack .../libcbor0.10_0.10.2-2ubuntu1_ppc64el.deb ... 358s Unpacking libcbor0.10:ppc64el (0.10.2-2ubuntu1) over (0.10.2-1.2ubuntu2) ... 358s Preparing to unpack .../lto-disabled-list_56_all.deb ... 358s Unpacking lto-disabled-list (56) over (54) ... 358s Setting up lto-disabled-list (56) ... 358s Setting up libcbor0.10:ppc64el (0.10.2-2ubuntu1) ... 358s Processing triggers for libc-bin (2.40-4ubuntu1) ... 358s Reading package lists... 358s Building dependency tree... 358s Reading state information... 358s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 358s autopkgtest [02:36:17]: upgrading testbed (apt dist-upgrade and autopurge) 358s Reading package lists... 359s Building dependency tree... 359s Reading state information... 359s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 359s Starting 2 pkgProblemResolver with broken count: 0 359s Done 359s Entering ResolveByKeep 360s 360s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 360s Reading package lists... 360s Building dependency tree... 360s Reading state information... 361s Starting pkgProblemResolver with broken count: 0 361s Starting 2 pkgProblemResolver with broken count: 0 361s Done 361s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 364s Reading package lists... 364s Building dependency tree... 364s Reading state information... 364s Starting pkgProblemResolver with broken count: 0 364s Starting 2 pkgProblemResolver with broken count: 0 364s Done 365s The following NEW packages will be installed: 365s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 365s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 365s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 365s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 365s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 365s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 365s python3-lxml python3-mistletoe python3-packaging python3-phply 365s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 365s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 365s python3-soupsieve python3-syrupy python3-translate python3-tz 365s python3-vobject python3-xapian python3.12 python3.12-minimal subversion 365s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 365s Need to get 16.3 MB of archives. 365s After this operation, 84.4 MB of additional disk space will be used. 365s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.12-minimal ppc64el 3.12.9-1 [2465 kB] 366s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.12 ppc64el 3.12.9-1 [671 kB] 366s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 366s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el dictionaries-common all 1.30.4 [176 kB] 366s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgomp1 ppc64el 15-20250213-1ubuntu1 [168 kB] 366s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el gettext ppc64el 0.23.1-1 [1155 kB] 366s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el hunspell-en-us all 1:2020.12.07-3 [586 kB] 366s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 366s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu2 [112 kB] 366s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaspell15 ppc64el 0.60.8.1-4 [386 kB] 366s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 366s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3 [67.1 kB] 366s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libexttextcat-data all 3.4.7-1build1 [193 kB] 366s Get:14 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 366s Get:15 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libutf8proc3 ppc64el 2.9.0-1build1 [72.5 kB] 366s Get:16 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libsvn1 ppc64el 1.14.5-2 [1636 kB] 367s Get:17 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libxapian30 ppc64el 1.4.25-2 [815 kB] 367s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 367s Get:19 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-aeidon all 1.15-2 [231 kB] 367s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-all ppc64el 3.13.1-1~exp2 [896 B] 367s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-soupsieve all 2.6-1 [33.0 kB] 367s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-bs4 all 4.13.3-1 [136 kB] 367s Get:23 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-charset-normalizer ppc64el 3.4.1-1 [149 kB] 367s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-cheroot all 10.0.1+ds1-3 [78.6 kB] 367s Get:25 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cwcwidth ppc64el 0.1.10-1 [28.6 kB] 367s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 367s Get:27 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 367s Get:28 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-enchant all 3.3.0~rc1-1 [35.1 kB] 367s Get:29 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 367s Get:30 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-rapidfuzz ppc64el 3.12.1+ds-1 [1425 kB] 367s Get:31 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-levenshtein ppc64el 0.27.0-1 [153 kB] 367s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-lxml ppc64el 5.3.1-1 [1752 kB] 367s Get:33 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-mistletoe all 1.4.0-1 [38.2 kB] 367s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 367s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-ply all 3.11-7 [45.4 kB] 367s Get:36 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 367s Get:37 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 367s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.4-1 [252 kB] 367s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-pytz all 2025.1-3 [162 kB] 367s Get:40 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1 [214 kB] 368s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 368s Get:42 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-syrupy all 4.8.1-1 [45.4 kB] 368s Get:43 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-translate all 3.14.7-1 [319 kB] 368s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-tz all 2025.1-3 [1866 B] 368s Get:45 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 368s Get:46 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-xapian ppc64el 1.4.25-1build4 [544 kB] 368s Get:47 http://ftpmaster.internal/ubuntu plucky/universe ppc64el subversion ppc64el 1.14.5-2 [945 kB] 368s Get:48 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniparse all 0.5.1-1 [21.2 kB] 368s Get:49 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 368s Preconfiguring packages ... 368s Fetched 16.3 MB in 3s (5317 kB/s) 368s Selecting previously unselected package python3.12-minimal. 368s (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 ... 106420 files and directories currently installed.) 368s Preparing to unpack .../00-python3.12-minimal_3.12.9-1_ppc64el.deb ... 368s Unpacking python3.12-minimal (3.12.9-1) ... 368s Selecting previously unselected package python3.12. 368s Preparing to unpack .../01-python3.12_3.12.9-1_ppc64el.deb ... 368s Unpacking python3.12 (3.12.9-1) ... 368s Selecting previously unselected package emacsen-common. 368s Preparing to unpack .../02-emacsen-common_3.0.5_all.deb ... 368s Unpacking emacsen-common (3.0.5) ... 369s Selecting previously unselected package dictionaries-common. 369s Preparing to unpack .../03-dictionaries-common_1.30.4_all.deb ... 369s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 369s Unpacking dictionaries-common (1.30.4) ... 369s Selecting previously unselected package libgomp1:ppc64el. 369s Preparing to unpack .../04-libgomp1_15-20250213-1ubuntu1_ppc64el.deb ... 369s Unpacking libgomp1:ppc64el (15-20250213-1ubuntu1) ... 369s Selecting previously unselected package gettext. 369s Preparing to unpack .../05-gettext_0.23.1-1_ppc64el.deb ... 369s Unpacking gettext (0.23.1-1) ... 369s Selecting previously unselected package hunspell-en-us. 369s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-3_all.deb ... 369s Unpacking hunspell-en-us (1:2020.12.07-3) ... 369s Selecting previously unselected package libapr1t64:ppc64el. 369s Preparing to unpack .../07-libapr1t64_1.7.5-1_ppc64el.deb ... 369s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 369s Selecting previously unselected package libaprutil1t64:ppc64el. 369s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu2_ppc64el.deb ... 369s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 369s Selecting previously unselected package libaspell15:ppc64el. 369s Preparing to unpack .../09-libaspell15_0.60.8.1-4_ppc64el.deb ... 369s Unpacking libaspell15:ppc64el (0.60.8.1-4) ... 369s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 369s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 369s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 369s Selecting previously unselected package libenchant-2-2:ppc64el. 369s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3_ppc64el.deb ... 369s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 369s Selecting previously unselected package libexttextcat-data. 369s Preparing to unpack .../12-libexttextcat-data_3.4.7-1build1_all.deb ... 369s Unpacking libexttextcat-data (3.4.7-1build1) ... 369s Selecting previously unselected package libserf-1-1:ppc64el. 369s Preparing to unpack .../13-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 369s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 369s Selecting previously unselected package libutf8proc3:ppc64el. 369s Preparing to unpack .../14-libutf8proc3_2.9.0-1build1_ppc64el.deb ... 369s Unpacking libutf8proc3:ppc64el (2.9.0-1build1) ... 369s Selecting previously unselected package libsvn1:ppc64el. 369s Preparing to unpack .../15-libsvn1_1.14.5-2_ppc64el.deb ... 369s Unpacking libsvn1:ppc64el (1.14.5-2) ... 369s Selecting previously unselected package libxapian30:ppc64el. 369s Preparing to unpack .../16-libxapian30_1.4.25-2_ppc64el.deb ... 369s Unpacking libxapian30:ppc64el (1.4.25-2) ... 369s Selecting previously unselected package libxslt1.1:ppc64el. 369s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 369s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 369s Selecting previously unselected package python3-aeidon. 369s Preparing to unpack .../18-python3-aeidon_1.15-2_all.deb ... 369s Unpacking python3-aeidon (1.15-2) ... 369s Selecting previously unselected package python3-all. 369s Preparing to unpack .../19-python3-all_3.13.1-1~exp2_ppc64el.deb ... 369s Unpacking python3-all (3.13.1-1~exp2) ... 369s Selecting previously unselected package python3-soupsieve. 369s Preparing to unpack .../20-python3-soupsieve_2.6-1_all.deb ... 369s Unpacking python3-soupsieve (2.6-1) ... 369s Selecting previously unselected package python3-bs4. 369s Preparing to unpack .../21-python3-bs4_4.13.3-1_all.deb ... 369s Unpacking python3-bs4 (4.13.3-1) ... 369s Selecting previously unselected package python3-charset-normalizer. 369s Preparing to unpack .../22-python3-charset-normalizer_3.4.1-1_ppc64el.deb ... 369s Unpacking python3-charset-normalizer (3.4.1-1) ... 369s Selecting previously unselected package python3-cheroot. 369s Preparing to unpack .../23-python3-cheroot_10.0.1+ds1-3_all.deb ... 369s Unpacking python3-cheroot (10.0.1+ds1-3) ... 369s Selecting previously unselected package python3-cwcwidth. 369s Preparing to unpack .../24-python3-cwcwidth_0.1.10-1_ppc64el.deb ... 369s Unpacking python3-cwcwidth (0.1.10-1) ... 369s Selecting previously unselected package python3-dateutil. 369s Preparing to unpack .../25-python3-dateutil_2.9.0-3_all.deb ... 369s Unpacking python3-dateutil (2.9.0-3) ... 369s Selecting previously unselected package python3-diff-match-patch. 369s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 369s Unpacking python3-diff-match-patch (20241021-1) ... 369s Selecting previously unselected package python3-enchant. 369s Preparing to unpack .../27-python3-enchant_3.3.0~rc1-1_all.deb ... 369s Unpacking python3-enchant (3.3.0~rc1-1) ... 369s Selecting previously unselected package python3-iniconfig. 369s Preparing to unpack .../28-python3-iniconfig_1.1.1-2_all.deb ... 369s Unpacking python3-iniconfig (1.1.1-2) ... 369s Selecting previously unselected package python3-rapidfuzz. 369s Preparing to unpack .../29-python3-rapidfuzz_3.12.1+ds-1_ppc64el.deb ... 369s Unpacking python3-rapidfuzz (3.12.1+ds-1) ... 369s Selecting previously unselected package python3-levenshtein. 369s Preparing to unpack .../30-python3-levenshtein_0.27.0-1_ppc64el.deb ... 369s Unpacking python3-levenshtein (0.27.0-1) ... 369s Selecting previously unselected package python3-lxml:ppc64el. 369s Preparing to unpack .../31-python3-lxml_5.3.1-1_ppc64el.deb ... 369s Unpacking python3-lxml:ppc64el (5.3.1-1) ... 369s Selecting previously unselected package python3-mistletoe. 369s Preparing to unpack .../32-python3-mistletoe_1.4.0-1_all.deb ... 369s Unpacking python3-mistletoe (1.4.0-1) ... 369s Selecting previously unselected package python3-packaging. 369s Preparing to unpack .../33-python3-packaging_24.2-1_all.deb ... 369s Unpacking python3-packaging (24.2-1) ... 370s Selecting previously unselected package python3-ply. 370s Preparing to unpack .../34-python3-ply_3.11-7_all.deb ... 370s Unpacking python3-ply (3.11-7) ... 370s Selecting previously unselected package python3-phply. 370s Preparing to unpack .../35-python3-phply_1.2.6-1_all.deb ... 370s Unpacking python3-phply (1.2.6-1) ... 370s Selecting previously unselected package python3-pluggy. 370s Preparing to unpack .../36-python3-pluggy_1.5.0-1_all.deb ... 370s Unpacking python3-pluggy (1.5.0-1) ... 370s Selecting previously unselected package python3-pytest. 370s Preparing to unpack .../37-python3-pytest_8.3.4-1_all.deb ... 370s Unpacking python3-pytest (8.3.4-1) ... 370s Selecting previously unselected package python3-pytz. 370s Preparing to unpack .../38-python3-pytz_2025.1-3_all.deb ... 370s Unpacking python3-pytz (2025.1-3) ... 370s Selecting previously unselected package python3-ruamel.yaml.clib. 370s Preparing to unpack .../39-python3-ruamel.yaml.clib_0.2.12+ds-1_ppc64el.deb ... 370s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1) ... 370s Selecting previously unselected package python3-ruamel.yaml. 370s Preparing to unpack .../40-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 370s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 370s Selecting previously unselected package python3-syrupy. 370s Preparing to unpack .../41-python3-syrupy_4.8.1-1_all.deb ... 370s Unpacking python3-syrupy (4.8.1-1) ... 370s Selecting previously unselected package python3-translate. 370s Preparing to unpack .../42-python3-translate_3.14.7-1_all.deb ... 370s Unpacking python3-translate (3.14.7-1) ... 370s Selecting previously unselected package python3-tz. 370s Preparing to unpack .../43-python3-tz_2025.1-3_all.deb ... 370s Unpacking python3-tz (2025.1-3) ... 370s Selecting previously unselected package python3-vobject. 370s Preparing to unpack .../44-python3-vobject_0.9.8+dfsg-2_all.deb ... 370s Unpacking python3-vobject (0.9.8+dfsg-2) ... 370s Selecting previously unselected package python3-xapian. 370s Preparing to unpack .../45-python3-xapian_1.4.25-1build4_ppc64el.deb ... 370s Unpacking python3-xapian (1.4.25-1build4) ... 370s Selecting previously unselected package subversion. 370s Preparing to unpack .../46-subversion_1.14.5-2_ppc64el.deb ... 370s Unpacking subversion (1.14.5-2) ... 370s Selecting previously unselected package python3-iniparse. 370s Preparing to unpack .../47-python3-iniparse_0.5.1-1_all.deb ... 370s Unpacking python3-iniparse (0.5.1-1) ... 370s Selecting previously unselected package python3-pycountry. 370s Preparing to unpack .../48-python3-pycountry_24.6.1+ds1-1_all.deb ... 370s Unpacking python3-pycountry (24.6.1+ds1-1) ... 370s Setting up python3-iniconfig (1.1.1-2) ... 370s Setting up python3.12-minimal (3.12.9-1) ... 372s Setting up libxapian30:ppc64el (1.4.25-2) ... 372s Setting up python3-rapidfuzz (3.12.1+ds-1) ... 372s Setting up python3-diff-match-patch (20241021-1) ... 372s Setting up python3-aeidon (1.15-2) ... 373s Setting up libutf8proc3:ppc64el (2.9.0-1build1) ... 373s Setting up libaspell15:ppc64el (0.60.8.1-4) ... 373s Setting up python3-charset-normalizer (3.4.1-1) ... 373s Setting up python3.12 (3.12.9-1) ... 375s Setting up python3-ply (3.11-7) ... 375s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1) ... 375s Setting up python3-all (3.13.1-1~exp2) ... 375s Setting up python3-pytz (2025.1-3) ... 375s Setting up libgomp1:ppc64el (15-20250213-1ubuntu1) ... 375s Setting up python3-tz (2025.1-3) ... 375s Setting up python3-packaging (24.2-1) ... 375s Setting up emacsen-common (3.0.5) ... 375s Setting up python3-cheroot (10.0.1+ds1-3) ... 376s Setting up python3-pycountry (24.6.1+ds1-1) ... 376s Setting up python3-xapian (1.4.25-1build4) ... 376s Setting up python3-cwcwidth (0.1.10-1) ... 376s Setting up python3-pluggy (1.5.0-1) ... 377s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 378s Setting up python3-mistletoe (1.4.0-1) ... 378s Setting up libexttextcat-data (3.4.7-1build1) ... 378s Setting up libapr1t64:ppc64el (1.7.5-1) ... 378s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 378s Setting up python3-dateutil (2.9.0-3) ... 378s Setting up python3-levenshtein (0.27.0-1) ... 379s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 379s Setting up python3-soupsieve (2.6-1) ... 379s Setting up python3-iniparse (0.5.1-1) ... 379s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 379s Setting up python3-vobject (0.9.8+dfsg-2) ... 380s Setting up gettext (0.23.1-1) ... 380s Setting up python3-phply (1.2.6-1) ... 381s Setting up dictionaries-common (1.30.4) ... 381s Setting up python3-pytest (8.3.4-1) ... 382s Setting up python3-syrupy (4.8.1-1) ... 382s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 382s Setting up python3-bs4 (4.13.3-1) ... 383s Setting up python3-lxml:ppc64el (5.3.1-1) ... 383s Setting up hunspell-en-us (1:2020.12.07-3) ... 383s Setting up libsvn1:ppc64el (1.14.5-2) ... 383s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 383s Setting up subversion (1.14.5-2) ... 383s Setting up python3-enchant (3.3.0~rc1-1) ... 384s Setting up python3-translate (3.14.7-1) ... 385s Processing triggers for libc-bin (2.40-4ubuntu1) ... 385s Processing triggers for systemd (257.2-3ubuntu1) ... 385s Processing triggers for man-db (2.13.0-1) ... 386s Processing triggers for install-info (7.1.1-1) ... 386s Processing triggers for dictionaries-common (1.30.4) ... 389s autopkgtest [02:36:48]: test python3-translate: [----------------------- 390s ============================= test session starts ============================== 390s platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.12 390s cachedir: .pytest_cache 390s rootdir: /tmp/autopkgtest.VnprCm/autopkgtest_tmp 390s plugins: typeguard-4.4.1, syrupy-4.8.1 398s collecting ... collected 3368 items / 2 skipped 398s 398s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 398s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 398s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 398s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 398s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 398s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 398s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 398s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 398s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 398s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 398s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 398s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 398s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 398s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 398s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 398s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 398s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 398s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 398s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 398s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 398s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 398s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 398s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 398s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 398s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 398s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 398s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 398s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 398s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 398s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 399s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 399s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 399s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 399s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 399s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 399s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 399s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 399s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 399s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 399s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 399s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 400s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 400s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 400s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 400s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 400s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 400s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 400s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 400s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 400s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 400s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 400s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 400s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 400s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 400s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 400s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 400s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 400s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 400s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 400s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 401s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 401s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 401s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 401s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 401s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 401s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 401s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 401s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 401s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 401s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 401s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 401s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 401s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 401s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 401s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 401s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 401s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 401s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 401s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 401s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 401s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 401s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 402s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 402s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 402s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 402s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 402s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 402s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 402s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 402s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 402s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 402s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 402s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 402s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 402s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 402s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 402s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 403s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 403s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 403s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 403s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 403s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 403s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 403s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 403s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 403s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 403s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 403s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 403s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 403s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 403s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 403s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 403s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 403s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 403s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 403s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 403s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 403s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 403s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 403s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 403s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 403s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 403s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 403s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 403s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 404s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 404s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 404s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 404s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 404s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 404s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 404s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 404s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 404s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 404s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 404s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 404s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 404s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 404s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 404s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 404s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 404s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 404s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 404s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 404s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 404s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 404s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 404s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 404s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 404s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 404s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 404s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 404s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 404s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 404s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 404s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 404s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 404s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 404s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 404s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 404s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 404s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 404s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 404s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 404s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 404s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 404s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 404s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 404s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 404s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 404s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 404s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 404s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 404s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 404s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 404s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 404s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 404s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 404s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 404s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 405s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 405s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 405s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 405s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 405s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 405s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 405s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 405s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 405s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 405s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 405s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 405s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 405s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 405s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 405s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 405s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 405s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 405s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 405s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 405s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 405s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 405s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 405s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 405s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 405s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 405s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 405s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 405s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 405s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 406s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 406s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 406s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 406s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 406s 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%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 406s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 406s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 406s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 406s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 406s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 406s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 406s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 406s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 406s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 406s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 406s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 406s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 406s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 406s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 406s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 406s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 406s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 406s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 406s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 406s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 408s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 408s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 408s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 408s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 408s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 408s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 408s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 408s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 408s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 408s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 408s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 408s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 408s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 409s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 409s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 409s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 409s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 409s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 409s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 409s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 409s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 409s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 409s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 409s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 409s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 409s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 410s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 410s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 410s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 410s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 410s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 410s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 410s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 410s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 410s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 410s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 410s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 410s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 410s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 410s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 410s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 410s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 410s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 410s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 410s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 410s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 410s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 410s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 410s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 410s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 412s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 412s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 412s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 413s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 413s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 413s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 413s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 413s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 413s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 413s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 413s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 413s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 413s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 413s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 413s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 413s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 413s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 413s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 413s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 413s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 413s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 413s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 413s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 413s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 413s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 413s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 413s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 413s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 413s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 413s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 413s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 413s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 413s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 413s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 413s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 413s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 413s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 413s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 413s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 414s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 414s 414s =============================== warnings summary =============================== 414s tests/translate/storage/test_cpo.py:15 414s Warning: 414s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 414s ImportError('gettext PO library not found') 414s In pytest 9.1 this warning will become an error by default. 414s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 414s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 414s 414s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 414s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 414s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 414s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 414s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 414s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 414s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 414s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 414s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 414s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 414s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 414s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 414s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 414s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 414s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 414s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 414s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 414s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 414s Warning: Could not find accesskey for key.accesskey 414s 414s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 414s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 414s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 414s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 414s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 414s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.idml'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 414s Warning: unclosed file <_io.BufferedReader name='translation.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 414s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 414s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 414s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 414s Warning: Could not find accesskey for prop.accesskey 414s 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 414s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 414s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 414s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 414s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 414s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 414s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 414s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 414s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 414s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 414s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 414s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.odt'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 414s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 414s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 414s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 414s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 414s Enable tracemalloc to get traceback where the object was allocated. 414s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 414s 414s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 414s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 414s 414s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 414s Warning: DTD file '' does not validate 414s 414s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 414s --------------------------- snapshot report summary ---------------------------- 414s 23 snapshots passed. 414s =========================== short test summary info ============================ 414s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 414s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 414s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 414s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 414s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 414s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 414s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 414s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 414s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 414s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 414s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 414s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 414s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 414s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 414s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 414s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 414s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 414s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 414s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 414s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 414s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 414s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 414s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 414s 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. 414s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 414s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 414s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 414s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 414s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 414s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 414s 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 414s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 414s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 414s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 414s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 414s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 414s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 414s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 414s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 414s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 414s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 414s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 414s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 414s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 414s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 414s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 414s ========== 3309 passed, 22 skipped, 39 xfailed, 47 warnings in 24.59s ========== 415s ============================= test session starts ============================== 415s platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.13 415s cachedir: .pytest_cache 415s rootdir: /tmp/autopkgtest.VnprCm/autopkgtest_tmp 415s plugins: typeguard-4.4.1, syrupy-4.8.1 422s collecting ... collected 3368 items / 2 skipped 422s 422s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 422s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 422s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 422s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 422s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 422s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 422s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 422s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 422s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 422s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 422s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 422s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 422s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 422s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 422s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 422s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 422s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 422s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 422s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 422s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 422s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 422s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 422s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 422s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 422s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 423s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 423s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 423s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 423s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 423s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 423s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 423s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 423s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 423s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 423s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 423s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 423s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 423s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 423s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 423s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 423s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 423s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 429s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 436s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 451s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 467s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 472s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 479s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 489s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 498s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 506s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 514s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 529s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 547s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 566s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 580s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 593s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 611s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 625s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 631s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 638s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 653s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 669s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 674s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 682s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 690s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 697s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 703s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 709s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 723s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 739s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 756s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 775s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 793s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 816s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 837s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 837s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 837s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 837s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 837s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 837s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 837s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 837s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 837s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 837s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 837s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 837s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 837s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 837s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 837s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 837s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 837s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 838s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 838s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 838s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 838s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 838s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 838s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 838s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 847s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 847s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 847s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 850s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 860s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 865s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 868s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 872s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 876s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 882s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 888s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 892s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 897s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 903s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 908s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 914s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 919s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 919s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 930s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 930s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 930s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 936s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 941s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 947s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 952s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 956s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 962s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 968s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 974s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 980s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 984s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 988s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 991s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 995s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 998s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1002s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1002s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1002s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1002s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1002s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1002s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1002s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1002s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1002s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1003s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1003s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 1003s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 1003s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 1003s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1003s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 1003s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1003s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 1003s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 1003s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 1003s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 1003s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 1003s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1003s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1003s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1003s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1003s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1003s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1003s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 1003s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1004s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1004s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1004s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1004s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 1004s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 1004s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 1004s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1004s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1004s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 1004s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1004s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1004s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 1004s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 1004s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 1004s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 1004s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1004s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 1004s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1004s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1004s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 1004s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 1005s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 1005s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1005s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1005s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 1005s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 1005s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1005s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1005s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1005s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1005s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1005s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1005s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1005s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1005s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1005s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1005s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1005s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1005s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1005s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1005s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 1005s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 1005s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 1005s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 1005s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 1005s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 1005s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 1005s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 1005s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 1005s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 1005s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1005s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1005s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1005s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1005s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 1005s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 1005s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 1005s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 1005s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 1005s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 1005s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 1005s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 1005s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 1005s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 1005s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1005s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1005s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1005s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1005s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1005s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1005s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1005s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1005s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1005s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 1005s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1005s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1005s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1005s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1005s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1005s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1005s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1005s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1005s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1006s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 1006s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 1006s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 1006s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 1006s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 1006s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 1006s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 1006s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 1006s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 1006s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 1006s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 1006s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 1006s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 1006s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 1006s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 1006s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 1007s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 1007s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 1007s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 1007s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 1007s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 1007s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 1007s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 1007s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 1007s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 1007s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 1007s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 1007s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 1007s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 1007s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 1007s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 1008s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 1008s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 1008s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 1008s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 1008s 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%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 1008s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 1008s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 1008s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 1008s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 1008s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 1008s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 1008s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 1008s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 1008s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 1008s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 1008s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 1013s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 1017s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 1020s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 1028s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 1034s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 1042s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 1051s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 1058s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 1068s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 1076s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 1094s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 1123s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 1133s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 1141s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 1145s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 1149s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 1159s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 1167s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 1179s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 1188s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 1199s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 1207s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 1214s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 1226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 1234s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 1242s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 1253s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 1266s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 1275s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 1287s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 1297s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 1306s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 1310s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 1314s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 1321s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 1325s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 1330s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 1343s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 1357s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 1370s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 1383s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 1394s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 1400s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 1410s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 1419s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 1427s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 1431s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 1445s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 1451s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 1459s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 1470s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 1480s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 1488s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 1497s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 1509s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 1520s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 1525s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 1530s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 1535s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 1538s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 1544s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 1551s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 1551s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 1551s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 1551s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 1551s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 1551s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 1556s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 1556s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 1556s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 1556s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 1556s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 1556s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 1558s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 1559s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 1559s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 1559s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 1559s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 1559s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 1559s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 1559s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 1559s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 1559s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 1559s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 1559s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 1559s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 1559s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 1560s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 1560s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 1560s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 1560s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 1560s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 1560s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 1560s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 1560s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 1560s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 1560s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 1560s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 1560s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 1560s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 1560s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 1560s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 1560s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 1560s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 1560s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 1560s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 1560s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 1560s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 1560s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 1560s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 1560s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 1561s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 1561s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 1562s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 1562s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 1562s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 1563s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 1563s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 1563s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 1563s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 1563s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1563s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1563s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 1563s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 1563s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 1563s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 1563s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 1563s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 1563s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 1563s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 1563s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1563s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1563s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1563s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1563s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1563s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1563s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1563s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1563s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1564s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1564s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1564s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1564s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1564s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1564s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1564s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1564s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1564s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1564s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1564s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1564s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1564s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1564s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1564s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 1565s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 1565s 1565s =============================== warnings summary =============================== 1565s tests/translate/storage/test_cpo.py:15 1565s Warning: 1565s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 1565s ImportError('gettext PO library not found') 1565s In pytest 9.1 this warning will become an error by default. 1565s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 1565s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 1565s 1565s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1565s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1565s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1565s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1565s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1565s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1565s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1565s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1565s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1565s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1565s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1565s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1565s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1565s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1565s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1565s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1565s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1565s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1565s Warning: Could not find accesskey for key.accesskey 1565s 1565s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1565s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1565s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1565s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1565s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1565s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.idml'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1565s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 1565s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 1565s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1565s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1565s Warning: Could not find accesskey for prop.accesskey 1565s 1565s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1565s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1565s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1565s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1565s Enable tracemalloc to get traceback where the object was allocated. 1565s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1565s 1565s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1566s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1566s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1566s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1566s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1566s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1566s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1566s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1566s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1566s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.odt'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1566s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1566s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1566s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1566s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1566s Enable tracemalloc to get traceback where the object was allocated. 1566s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1566s 1566s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 1566s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 1566s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 1566s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 1566s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 1566s 1566s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1566s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1566s 1566s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1566s Warning: DTD file '' does not validate 1566s 1566s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1566s --------------------------- snapshot report summary ---------------------------- 1566s 23 snapshots passed. 1566s =========================== short test summary info ============================ 1566s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1566s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1566s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1566s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 1566s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 1566s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 1566s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 1566s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1566s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1566s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1566s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1566s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1566s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1566s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1566s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1566s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1566s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1566s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1566s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1566s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1566s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1566s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1566s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1566s 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. 1566s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1566s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1566s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1566s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1566s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1566s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1566s 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 1566s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1566s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1566s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1566s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1566s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1566s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1566s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1566s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1566s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1566s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1566s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1566s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1566s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1566s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1566s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1566s ==== 3309 passed, 22 skipped, 39 xfailed, 51 warnings in 1150.65s (0:19:10) ==== 1566s autopkgtest [02:56:25]: test python3-translate: -----------------------] 1567s python3-translate PASS 1567s autopkgtest [02:56:26]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 1568s autopkgtest [02:56:27]: test python3-translate-commands: preparing testbed 1674s autopkgtest [02:58:13]: testbed dpkg architecture: ppc64el 1674s autopkgtest [02:58:13]: testbed apt version: 2.9.30 1675s autopkgtest [02:58:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1675s autopkgtest [02:58:14]: testbed release detected to be: plucky 1676s autopkgtest [02:58:15]: updating testbed package index (apt update) 1676s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 1677s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 1677s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 1677s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 1677s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [16.3 kB] 1677s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [733 kB] 1677s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 1677s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [86.5 kB] 1677s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [117 kB] 1677s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [760 B] 1677s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [690 kB] 1677s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [5948 B] 1678s Fetched 1762 kB in 1s (1509 kB/s) 1679s Reading package lists... 1679s Reading package lists... 1680s Building dependency tree... 1680s Reading state information... 1680s Calculating upgrade... 1680s The following packages will be upgraded: 1680s libcbor0.10 lto-disabled-list 1681s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1681s Need to get 40.4 kB of archives. 1681s After this operation, 1024 B of additional disk space will be used. 1681s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcbor0.10 ppc64el 0.10.2-2ubuntu1 [28.1 kB] 1681s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el lto-disabled-list all 56 [12.4 kB] 1682s Fetched 40.4 kB in 0s (137 kB/s) 1682s (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 ... 106420 files and directories currently installed.) 1682s Preparing to unpack .../libcbor0.10_0.10.2-2ubuntu1_ppc64el.deb ... 1682s Unpacking libcbor0.10:ppc64el (0.10.2-2ubuntu1) over (0.10.2-1.2ubuntu2) ... 1682s Preparing to unpack .../lto-disabled-list_56_all.deb ... 1682s Unpacking lto-disabled-list (56) over (54) ... 1682s Setting up lto-disabled-list (56) ... 1682s Setting up libcbor0.10:ppc64el (0.10.2-2ubuntu1) ... 1682s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1683s Reading package lists... 1683s Building dependency tree... 1683s Reading state information... 1683s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1683s autopkgtest [02:58:22]: upgrading testbed (apt dist-upgrade and autopurge) 1684s Reading package lists... 1684s Building dependency tree... 1684s Reading state information... 1685s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 1685s Starting 2 pkgProblemResolver with broken count: 0 1685s Done 1685s Entering ResolveByKeep 1686s 1686s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1686s Reading package lists... 1687s Building dependency tree... 1687s Reading state information... 1687s Starting pkgProblemResolver with broken count: 0 1687s Starting 2 pkgProblemResolver with broken count: 0 1687s Done 1688s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1691s Reading package lists... 1691s Building dependency tree... 1691s Reading state information... 1692s Starting pkgProblemResolver with broken count: 0 1692s Starting 2 pkgProblemResolver with broken count: 0 1692s Done 1692s The following NEW packages will be installed: 1692s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 1692s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 1692s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 1692s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 1692s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 1692s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 1692s python3-lxml python3-mistletoe python3-packaging python3-phply 1692s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 1692s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 1692s python3-soupsieve python3-syrupy python3-translate python3-tz 1692s python3-vobject python3-wcwidth python3-xapian python3.12 python3.12-minimal 1692s subversion translate-toolkit 1692s 0 upgraded, 51 newly installed, 0 to remove and 0 not upgraded. 1692s Need to get 16.4 MB of archives. 1692s After this operation, 85.3 MB of additional disk space will be used. 1692s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.12-minimal ppc64el 3.12.9-1 [2465 kB] 1693s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.12 ppc64el 3.12.9-1 [671 kB] 1693s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el emacsen-common all 3.0.5 [12.1 kB] 1693s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el dictionaries-common all 1.30.4 [176 kB] 1693s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgomp1 ppc64el 15-20250213-1ubuntu1 [168 kB] 1693s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el gettext ppc64el 0.23.1-1 [1155 kB] 1693s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el hunspell-en-us all 1:2020.12.07-3 [586 kB] 1693s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el libapr1t64 ppc64el 1.7.5-1 [137 kB] 1693s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu2 [112 kB] 1693s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaspell15 ppc64el 0.60.8.1-4 [386 kB] 1693s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-10build3 [313 kB] 1693s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3 [67.1 kB] 1693s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libexttextcat-data all 3.4.7-1build1 [193 kB] 1693s Get:14 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 1693s Get:15 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libutf8proc3 ppc64el 2.9.0-1build1 [72.5 kB] 1693s Get:16 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libsvn1 ppc64el 1.14.5-2 [1636 kB] 1693s Get:17 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libxapian30 ppc64el 1.4.25-2 [815 kB] 1693s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libxslt1.1 ppc64el 1.1.39-0exp1ubuntu2 [191 kB] 1693s Get:19 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-aeidon all 1.15-2 [231 kB] 1693s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-all ppc64el 3.13.1-1~exp2 [896 B] 1693s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-soupsieve all 2.6-1 [33.0 kB] 1693s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-bs4 all 4.13.3-1 [136 kB] 1693s Get:23 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-charset-normalizer ppc64el 3.4.1-1 [149 kB] 1693s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-cheroot all 10.0.1+ds1-3 [78.6 kB] 1693s Get:25 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cwcwidth ppc64el 0.1.10-1 [28.6 kB] 1693s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 1693s Get:27 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 1693s Get:28 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-enchant all 3.3.0~rc1-1 [35.1 kB] 1693s Get:29 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 1693s Get:30 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-rapidfuzz ppc64el 3.12.1+ds-1 [1425 kB] 1694s Get:31 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-levenshtein ppc64el 0.27.0-1 [153 kB] 1694s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-lxml ppc64el 5.3.1-1 [1752 kB] 1694s Get:33 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-mistletoe all 1.4.0-1 [38.2 kB] 1694s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 1694s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-ply all 3.11-7 [45.4 kB] 1694s Get:36 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-phply all 1.2.6-1 [50.5 kB] 1694s Get:37 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 1694s Get:38 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.4-1 [252 kB] 1694s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-pytz all 2025.1-3 [162 kB] 1694s Get:40 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.12+ds-1 [214 kB] 1694s Get:41 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 1694s Get:42 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-syrupy all 4.8.1-1 [45.4 kB] 1694s Get:43 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-translate all 3.14.7-1 [319 kB] 1694s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-tz all 2025.1-3 [1866 B] 1694s Get:45 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 1694s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 1694s Get:47 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-xapian ppc64el 1.4.25-1build4 [544 kB] 1694s Get:48 http://ftpmaster.internal/ubuntu plucky/universe ppc64el subversion ppc64el 1.14.5-2 [945 kB] 1694s Get:49 http://ftpmaster.internal/ubuntu plucky/universe ppc64el translate-toolkit all 3.14.7-1 [81.5 kB] 1694s Get:50 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniparse all 0.5.1-1 [21.2 kB] 1694s Get:51 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 1694s Preconfiguring packages ... 1695s Fetched 16.4 MB in 2s (9668 kB/s) 1695s Selecting previously unselected package python3.12-minimal. 1695s (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 ... 106420 files and directories currently installed.) 1695s Preparing to unpack .../00-python3.12-minimal_3.12.9-1_ppc64el.deb ... 1695s Unpacking python3.12-minimal (3.12.9-1) ... 1695s Selecting previously unselected package python3.12. 1695s Preparing to unpack .../01-python3.12_3.12.9-1_ppc64el.deb ... 1695s Unpacking python3.12 (3.12.9-1) ... 1695s Selecting previously unselected package emacsen-common. 1695s Preparing to unpack .../02-emacsen-common_3.0.5_all.deb ... 1695s Unpacking emacsen-common (3.0.5) ... 1695s Selecting previously unselected package dictionaries-common. 1695s Preparing to unpack .../03-dictionaries-common_1.30.4_all.deb ... 1695s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 1695s Unpacking dictionaries-common (1.30.4) ... 1695s Selecting previously unselected package libgomp1:ppc64el. 1695s Preparing to unpack .../04-libgomp1_15-20250213-1ubuntu1_ppc64el.deb ... 1695s Unpacking libgomp1:ppc64el (15-20250213-1ubuntu1) ... 1695s Selecting previously unselected package gettext. 1695s Preparing to unpack .../05-gettext_0.23.1-1_ppc64el.deb ... 1695s Unpacking gettext (0.23.1-1) ... 1695s Selecting previously unselected package hunspell-en-us. 1695s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-3_all.deb ... 1695s Unpacking hunspell-en-us (1:2020.12.07-3) ... 1695s Selecting previously unselected package libapr1t64:ppc64el. 1695s Preparing to unpack .../07-libapr1t64_1.7.5-1_ppc64el.deb ... 1695s Unpacking libapr1t64:ppc64el (1.7.5-1) ... 1695s Selecting previously unselected package libaprutil1t64:ppc64el. 1695s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu2_ppc64el.deb ... 1695s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 1695s Selecting previously unselected package libaspell15:ppc64el. 1695s Preparing to unpack .../09-libaspell15_0.60.8.1-4_ppc64el.deb ... 1695s Unpacking libaspell15:ppc64el (0.60.8.1-4) ... 1696s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 1696s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_ppc64el.deb ... 1696s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 1696s Selecting previously unselected package libenchant-2-2:ppc64el. 1696s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3_ppc64el.deb ... 1696s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 1696s Selecting previously unselected package libexttextcat-data. 1696s Preparing to unpack .../12-libexttextcat-data_3.4.7-1build1_all.deb ... 1696s Unpacking libexttextcat-data (3.4.7-1build1) ... 1696s Selecting previously unselected package libserf-1-1:ppc64el. 1696s Preparing to unpack .../13-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 1696s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 1696s Selecting previously unselected package libutf8proc3:ppc64el. 1696s Preparing to unpack .../14-libutf8proc3_2.9.0-1build1_ppc64el.deb ... 1696s Unpacking libutf8proc3:ppc64el (2.9.0-1build1) ... 1696s Selecting previously unselected package libsvn1:ppc64el. 1696s Preparing to unpack .../15-libsvn1_1.14.5-2_ppc64el.deb ... 1696s Unpacking libsvn1:ppc64el (1.14.5-2) ... 1696s Selecting previously unselected package libxapian30:ppc64el. 1696s Preparing to unpack .../16-libxapian30_1.4.25-2_ppc64el.deb ... 1696s Unpacking libxapian30:ppc64el (1.4.25-2) ... 1696s Selecting previously unselected package libxslt1.1:ppc64el. 1696s Preparing to unpack .../17-libxslt1.1_1.1.39-0exp1ubuntu2_ppc64el.deb ... 1696s Unpacking libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 1696s Selecting previously unselected package python3-aeidon. 1696s Preparing to unpack .../18-python3-aeidon_1.15-2_all.deb ... 1696s Unpacking python3-aeidon (1.15-2) ... 1696s Selecting previously unselected package python3-all. 1696s Preparing to unpack .../19-python3-all_3.13.1-1~exp2_ppc64el.deb ... 1696s Unpacking python3-all (3.13.1-1~exp2) ... 1696s Selecting previously unselected package python3-soupsieve. 1696s Preparing to unpack .../20-python3-soupsieve_2.6-1_all.deb ... 1696s Unpacking python3-soupsieve (2.6-1) ... 1696s Selecting previously unselected package python3-bs4. 1696s Preparing to unpack .../21-python3-bs4_4.13.3-1_all.deb ... 1696s Unpacking python3-bs4 (4.13.3-1) ... 1696s Selecting previously unselected package python3-charset-normalizer. 1696s Preparing to unpack .../22-python3-charset-normalizer_3.4.1-1_ppc64el.deb ... 1696s Unpacking python3-charset-normalizer (3.4.1-1) ... 1696s Selecting previously unselected package python3-cheroot. 1696s Preparing to unpack .../23-python3-cheroot_10.0.1+ds1-3_all.deb ... 1696s Unpacking python3-cheroot (10.0.1+ds1-3) ... 1696s Selecting previously unselected package python3-cwcwidth. 1696s Preparing to unpack .../24-python3-cwcwidth_0.1.10-1_ppc64el.deb ... 1696s Unpacking python3-cwcwidth (0.1.10-1) ... 1696s Selecting previously unselected package python3-dateutil. 1696s Preparing to unpack .../25-python3-dateutil_2.9.0-3_all.deb ... 1696s Unpacking python3-dateutil (2.9.0-3) ... 1696s Selecting previously unselected package python3-diff-match-patch. 1696s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 1696s Unpacking python3-diff-match-patch (20241021-1) ... 1696s Selecting previously unselected package python3-enchant. 1696s Preparing to unpack .../27-python3-enchant_3.3.0~rc1-1_all.deb ... 1696s Unpacking python3-enchant (3.3.0~rc1-1) ... 1696s Selecting previously unselected package python3-iniconfig. 1696s Preparing to unpack .../28-python3-iniconfig_1.1.1-2_all.deb ... 1696s Unpacking python3-iniconfig (1.1.1-2) ... 1696s Selecting previously unselected package python3-rapidfuzz. 1696s Preparing to unpack .../29-python3-rapidfuzz_3.12.1+ds-1_ppc64el.deb ... 1696s Unpacking python3-rapidfuzz (3.12.1+ds-1) ... 1697s Selecting previously unselected package python3-levenshtein. 1697s Preparing to unpack .../30-python3-levenshtein_0.27.0-1_ppc64el.deb ... 1697s Unpacking python3-levenshtein (0.27.0-1) ... 1697s Selecting previously unselected package python3-lxml:ppc64el. 1697s Preparing to unpack .../31-python3-lxml_5.3.1-1_ppc64el.deb ... 1697s Unpacking python3-lxml:ppc64el (5.3.1-1) ... 1697s Selecting previously unselected package python3-mistletoe. 1697s Preparing to unpack .../32-python3-mistletoe_1.4.0-1_all.deb ... 1697s Unpacking python3-mistletoe (1.4.0-1) ... 1697s Selecting previously unselected package python3-packaging. 1697s Preparing to unpack .../33-python3-packaging_24.2-1_all.deb ... 1697s Unpacking python3-packaging (24.2-1) ... 1697s Selecting previously unselected package python3-ply. 1697s Preparing to unpack .../34-python3-ply_3.11-7_all.deb ... 1697s Unpacking python3-ply (3.11-7) ... 1697s Selecting previously unselected package python3-phply. 1697s Preparing to unpack .../35-python3-phply_1.2.6-1_all.deb ... 1697s Unpacking python3-phply (1.2.6-1) ... 1697s Selecting previously unselected package python3-pluggy. 1697s Preparing to unpack .../36-python3-pluggy_1.5.0-1_all.deb ... 1697s Unpacking python3-pluggy (1.5.0-1) ... 1697s Selecting previously unselected package python3-pytest. 1697s Preparing to unpack .../37-python3-pytest_8.3.4-1_all.deb ... 1697s Unpacking python3-pytest (8.3.4-1) ... 1697s Selecting previously unselected package python3-pytz. 1697s Preparing to unpack .../38-python3-pytz_2025.1-3_all.deb ... 1697s Unpacking python3-pytz (2025.1-3) ... 1697s Selecting previously unselected package python3-ruamel.yaml.clib. 1697s Preparing to unpack .../39-python3-ruamel.yaml.clib_0.2.12+ds-1_ppc64el.deb ... 1697s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1) ... 1697s Selecting previously unselected package python3-ruamel.yaml. 1697s Preparing to unpack .../40-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 1697s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 1697s Selecting previously unselected package python3-syrupy. 1697s Preparing to unpack .../41-python3-syrupy_4.8.1-1_all.deb ... 1697s Unpacking python3-syrupy (4.8.1-1) ... 1697s Selecting previously unselected package python3-translate. 1697s Preparing to unpack .../42-python3-translate_3.14.7-1_all.deb ... 1697s Unpacking python3-translate (3.14.7-1) ... 1697s Selecting previously unselected package python3-tz. 1697s Preparing to unpack .../43-python3-tz_2025.1-3_all.deb ... 1697s Unpacking python3-tz (2025.1-3) ... 1697s Selecting previously unselected package python3-vobject. 1697s Preparing to unpack .../44-python3-vobject_0.9.8+dfsg-2_all.deb ... 1697s Unpacking python3-vobject (0.9.8+dfsg-2) ... 1698s Selecting previously unselected package python3-wcwidth. 1698s Preparing to unpack .../45-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 1698s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 1698s Selecting previously unselected package python3-xapian. 1698s Preparing to unpack .../46-python3-xapian_1.4.25-1build4_ppc64el.deb ... 1698s Unpacking python3-xapian (1.4.25-1build4) ... 1698s Selecting previously unselected package subversion. 1698s Preparing to unpack .../47-subversion_1.14.5-2_ppc64el.deb ... 1698s Unpacking subversion (1.14.5-2) ... 1698s Selecting previously unselected package translate-toolkit. 1698s Preparing to unpack .../48-translate-toolkit_3.14.7-1_all.deb ... 1698s Unpacking translate-toolkit (3.14.7-1) ... 1698s Selecting previously unselected package python3-iniparse. 1698s Preparing to unpack .../49-python3-iniparse_0.5.1-1_all.deb ... 1698s Unpacking python3-iniparse (0.5.1-1) ... 1698s Selecting previously unselected package python3-pycountry. 1698s Preparing to unpack .../50-python3-pycountry_24.6.1+ds1-1_all.deb ... 1698s Unpacking python3-pycountry (24.6.1+ds1-1) ... 1698s Setting up python3-iniconfig (1.1.1-2) ... 1699s Setting up python3.12-minimal (3.12.9-1) ... 1700s Setting up libxapian30:ppc64el (1.4.25-2) ... 1700s Setting up python3-rapidfuzz (3.12.1+ds-1) ... 1701s Setting up python3-diff-match-patch (20241021-1) ... 1701s Setting up python3-aeidon (1.15-2) ... 1702s Setting up libutf8proc3:ppc64el (2.9.0-1build1) ... 1702s Setting up libaspell15:ppc64el (0.60.8.1-4) ... 1702s Setting up python3-charset-normalizer (3.4.1-1) ... 1702s Setting up python3.12 (3.12.9-1) ... 1705s Setting up python3-ply (3.11-7) ... 1705s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1) ... 1705s Setting up python3-all (3.13.1-1~exp2) ... 1705s Setting up python3-pytz (2025.1-3) ... 1706s Setting up libgomp1:ppc64el (15-20250213-1ubuntu1) ... 1706s Setting up python3-tz (2025.1-3) ... 1706s Setting up python3-packaging (24.2-1) ... 1706s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 1706s Setting up emacsen-common (3.0.5) ... 1707s Setting up python3-cheroot (10.0.1+ds1-3) ... 1707s Setting up python3-pycountry (24.6.1+ds1-1) ... 1707s Setting up python3-xapian (1.4.25-1build4) ... 1708s Setting up python3-cwcwidth (0.1.10-1) ... 1708s Setting up python3-pluggy (1.5.0-1) ... 1708s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 1709s Setting up python3-mistletoe (1.4.0-1) ... 1710s Setting up libexttextcat-data (3.4.7-1build1) ... 1710s Setting up libapr1t64:ppc64el (1.7.5-1) ... 1710s Setting up libxslt1.1:ppc64el (1.1.39-0exp1ubuntu2) ... 1710s Setting up python3-dateutil (2.9.0-3) ... 1710s Setting up python3-levenshtein (0.27.0-1) ... 1710s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-10build3) ... 1710s Setting up python3-soupsieve (2.6-1) ... 1711s Setting up python3-iniparse (0.5.1-1) ... 1711s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu2) ... 1711s Setting up python3-vobject (0.9.8+dfsg-2) ... 1712s Setting up gettext (0.23.1-1) ... 1712s Setting up python3-phply (1.2.6-1) ... 1712s Setting up dictionaries-common (1.30.4) ... 1713s Setting up python3-pytest (8.3.4-1) ... 1714s Setting up python3-syrupy (4.8.1-1) ... 1714s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 1714s Setting up python3-bs4 (4.13.3-1) ... 1715s Setting up python3-lxml:ppc64el (5.3.1-1) ... 1715s Setting up hunspell-en-us (1:2020.12.07-3) ... 1715s Setting up libsvn1:ppc64el (1.14.5-2) ... 1715s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3) ... 1715s Setting up subversion (1.14.5-2) ... 1715s Setting up python3-enchant (3.3.0~rc1-1) ... 1715s Setting up python3-translate (3.14.7-1) ... 1717s Setting up translate-toolkit (3.14.7-1) ... 1717s Processing triggers for libc-bin (2.40-4ubuntu1) ... 1717s Processing triggers for systemd (257.2-3ubuntu1) ... 1717s Processing triggers for man-db (2.13.0-1) ... 1719s Processing triggers for install-info (7.1.1-1) ... 1720s Processing triggers for dictionaries-common (1.30.4) ... 1726s autopkgtest [02:59:05]: test python3-translate-commands: [----------------------- 1726s ============================= test session starts ============================== 1726s platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.12 1726s cachedir: .pytest_cache 1726s rootdir: /tmp/autopkgtest.VnprCm/autopkgtest_tmp 1726s plugins: typeguard-4.4.1, syrupy-4.8.1 1735s collecting ... collected 3368 items / 2 skipped 1735s 1735s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1735s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1735s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1735s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1735s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1735s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1735s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1735s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1735s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1735s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1735s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1735s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1735s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1735s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1735s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 1736s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1736s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1736s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1736s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 1736s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1736s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1736s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1736s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1736s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1736s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1736s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1736s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1736s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1736s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1736s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1736s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1736s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1736s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 1736s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1736s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 1736s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 1736s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 1736s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 1737s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 1737s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 1737s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 1737s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 1737s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 1737s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 1737s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 1737s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 1737s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 1737s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 1737s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 1737s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 1737s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 1737s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 1737s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 1737s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 1737s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 1737s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 1738s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 1738s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 1739s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 1739s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 1739s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 1739s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 1739s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 1739s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 1739s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 1739s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 1739s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 1739s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 1739s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 1739s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 1739s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 1739s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 1739s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 1739s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 1739s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 1739s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 1739s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 1739s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 1740s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 1740s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 1740s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 1740s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 1740s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 1740s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 1740s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 1740s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 1740s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 1740s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 1740s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 1740s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 1740s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 1740s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 1740s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 1740s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 1741s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 1741s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 1741s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 1741s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 1741s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 1741s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 1741s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 1741s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 1741s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 1741s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 1741s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 1741s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 1741s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 1741s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 1741s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 1741s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 1741s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 1741s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 1741s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 1741s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 1741s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 1741s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 1741s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 1741s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 1741s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 1741s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 1741s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 1741s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 1741s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 1741s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 1741s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 1741s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 1741s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 1741s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 1741s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 1741s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 1741s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 1741s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 1741s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 1741s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 1741s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 1741s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 1741s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 1741s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 1741s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 1741s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 1741s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 1741s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 1741s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 1741s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 1741s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 1741s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 1741s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 1741s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 1741s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 1741s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 1741s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 1741s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 1741s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 1741s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 1741s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 1741s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 1741s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 1741s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 1741s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 1741s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 1741s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 1741s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 1742s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 1742s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 1742s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 1742s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 1742s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 1742s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 1742s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 1742s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 1743s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 1743s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 1743s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 1743s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 1743s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 1743s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 1743s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 1743s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 1743s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 1743s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 1743s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 1743s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 1743s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 1743s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 1743s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 1743s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 1743s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 1743s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 1743s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 1743s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 1743s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 1743s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 1743s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 1743s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 1743s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 1743s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 1743s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 1744s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 1744s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 1744s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 1744s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 1744s 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%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 1744s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 1744s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 1744s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 1744s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 1744s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 1744s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 1744s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 1744s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 1744s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 1744s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 1744s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 1744s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 1744s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 1745s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 1745s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 1745s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 1745s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 1745s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 1745s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 1748s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 1748s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 1748s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 1748s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 1748s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 1748s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 1748s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 1748s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 1748s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 1748s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 1748s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 1748s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 1748s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 1748s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 1748s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 1748s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 1749s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 1749s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 1749s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 1749s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 1749s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 1749s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 1749s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 1749s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 1750s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 1750s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 1750s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 1750s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 1750s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 1750s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 1750s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 1750s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 1750s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 1750s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 1750s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 1750s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 1750s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 1750s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 1750s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 1750s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 1752s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 1752s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 1752s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 1753s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 1753s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 1753s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 1753s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 1753s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 1753s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 1753s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 1754s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 1754s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 1754s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 1754s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 1754s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 1754s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 1754s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 1754s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 1754s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 1754s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 1754s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 1754s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 1754s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 1754s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 1754s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 1754s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 1754s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 1755s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 1755s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 1755s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 1755s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 1755s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 1755s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 1755s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 1755s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 1755s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 1755s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 1755s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 1755s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 1755s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 1755s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 1755s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 1756s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 1756s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 1756s 1756s =============================== warnings summary =============================== 1756s tests/translate/storage/test_cpo.py:15 1756s Warning: 1756s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 1756s ImportError('gettext PO library not found') 1756s In pytest 9.1 this warning will become an error by default. 1756s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 1756s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 1756s 1756s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 1756s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 1756s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1756s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 1756s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 1756s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 1756s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 1756s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 1756s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 1756s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1756s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 1756s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 1756s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 1756s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 1756s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 1756s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 1756s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 1756s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 1756s Warning: Could not find accesskey for key.accesskey 1756s 1756s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1756s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 1756s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 1756s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 1756s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 1756s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.idml'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 1756s Warning: unclosed file <_io.BufferedReader name='translation.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1756s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 1756s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 1756s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 1756s Warning: Could not find accesskey for prop.accesskey 1756s 1756s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 1756s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 1756s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1756s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1756s 1756s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1756s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 1756s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1757s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 1757s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 1757s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 1757s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 1757s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 1757s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 1757s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1757s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 1757s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.odt'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 1757s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 1757s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 1757s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 1757s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 1757s Enable tracemalloc to get traceback where the object was allocated. 1757s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 1757s 1757s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1757s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 1757s 1757s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 1757s Warning: DTD file '' does not validate 1757s 1757s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1757s --------------------------- snapshot report summary ---------------------------- 1757s 23 snapshots passed. 1757s =========================== short test summary info ============================ 1757s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 1757s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 1757s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 1757s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 1757s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 1757s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 1757s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 1757s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 1757s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 1757s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 1757s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 1757s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 1757s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 1757s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 1757s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 1757s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 1757s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 1757s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 1757s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 1757s 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. 1757s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 1757s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 1757s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 1757s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 1757s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 1757s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 1757s 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 1757s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 1757s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1757s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 1757s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 1757s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 1757s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 1757s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 1757s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 1757s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 1757s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 1757s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 1757s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 1757s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 1757s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 1757s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 1757s ========== 3328 passed, 3 skipped, 39 xfailed, 47 warnings in 30.31s =========== 1758s ============================= test session starts ============================== 1758s platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.13 1758s cachedir: .pytest_cache 1758s rootdir: /tmp/autopkgtest.VnprCm/autopkgtest_tmp 1758s plugins: typeguard-4.4.1, syrupy-4.8.1 1765s collecting ... collected 3368 items / 2 skipped 1765s 1765s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 1765s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 1765s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 1765s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 1765s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 1765s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 1765s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 1765s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 1765s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 1765s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 1765s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 1765s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 1765s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 1765s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 1765s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 1765s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 1766s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 1766s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 1766s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 1766s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 1766s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 1766s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 1766s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 1766s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 1766s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 1766s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 1766s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 1766s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 1766s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 1766s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 1766s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 1766s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 1766s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 1766s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 1766s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 1766s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 1766s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 1766s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 1766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 1766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 1773s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 1780s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 1792s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 1804s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 1807s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 1813s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 1819s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 1825s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 1832s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 1838s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 1850s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 1862s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 1875s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 1888s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 1900s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 1912s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 1925s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 1932s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 1938s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 1953s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 1965s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 1969s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 1975s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 1982s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 1988s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 1994s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 2001s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 2014s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 2026s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 2038s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 2050s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 2062s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 2077s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 2090s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 2090s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 2090s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 2090s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 2091s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 2091s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 2091s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 2091s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 2091s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 2091s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 2091s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 2091s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 2091s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 2091s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 2091s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 2091s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 2091s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 2091s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 2091s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 2098s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 2098s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 2098s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 2101s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 2104s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 2107s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 2110s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 2114s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 2117s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 2120s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 2124s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 2127s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 2131s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 2135s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 2139s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 2143s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 2147s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 2152s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 2152s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 2160s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 2160s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 2160s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 2164s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 2168s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 2172s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 2176s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 2179s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 2183s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 2188s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 2192s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 2196s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 2201s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 2204s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 2208s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 2211s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 2214s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 2218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 2218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 2218s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 2218s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 2218s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 2219s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 2219s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 2219s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 2219s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 2219s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 2219s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 2219s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 2219s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 2219s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 2219s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 2219s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 2219s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 2219s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 2219s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 2219s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 2219s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 2219s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 2219s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 2219s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 2219s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 2219s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 2219s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 2219s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 2219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 2219s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 2220s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 2220s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 2220s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 2220s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 2220s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 2220s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 2220s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 2220s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 2220s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 2220s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 2220s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 2220s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 2220s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 2220s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 2220s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 2220s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 2220s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 2220s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 2221s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 2221s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 2221s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 2221s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 2221s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 2221s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 2221s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 2221s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 2221s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 2221s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 2221s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 2221s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 2221s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 2221s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 2221s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 2221s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 2221s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 2221s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 2221s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 2221s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 2221s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 2221s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 2221s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 2221s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 2221s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 2221s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 2221s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 2221s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 2221s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 2221s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 2221s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 2221s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 2221s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 2221s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 2221s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 2221s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 2221s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 2221s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 2221s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 2221s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 2221s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 2221s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 2221s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 2221s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 2221s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 2221s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 2221s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 2221s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 2221s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 2221s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 2221s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 2221s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 2221s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 2221s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 2221s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 2221s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 2221s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 2221s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 2221s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 2221s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 2221s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 2221s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 2222s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 2222s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 2222s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 2222s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 2222s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 2222s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 2222s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 2222s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 2222s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 2222s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 2222s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 2222s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 2222s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 2222s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 2222s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 2223s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 2223s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 2223s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 2223s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 2223s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 2223s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 2223s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 2223s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 2223s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 2223s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 2223s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 2223s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 2223s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 2223s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 2223s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 59%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 59%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 59%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 2223s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 2224s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 2224s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 2224s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 2224s 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%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 2224s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 2224s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 2224s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 2224s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 2224s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 2224s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 2224s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 64%] 2224s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] 2224s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] 2224s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] 2224s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 2227s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 2231s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 2235s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 2235s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 2235s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 2235s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 2235s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 2235s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 2243s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 2246s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 2254s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 2261s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 2268s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 2274s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 2283s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 2300s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 2326s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 2334s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 2343s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 2346s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 2351s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 2360s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 2369s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 2376s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 2384s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 2391s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 2398s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 2405s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 2414s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 2421s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 65%] 2428s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 65%] 2435s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 65%] 2442s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] 2449s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] 2456s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 2462s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 2471s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 2475s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 2479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 2487s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 2490s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 2494s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 2501s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 2507s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 2515s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 2523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 2529s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 2533s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 2540s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 2547s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 2553s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 2557s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 2564s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 2568s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 2576s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 2583s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 2590s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 2598s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 2606s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 2613s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 2621s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 2624s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 2627s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 2631s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 2635s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 2639s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 2642s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 2642s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 2642s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 2642s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 2642s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 2642s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 2646s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 2646s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 2646s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 2646s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 2646s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 2646s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 2647s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 71%] 2647s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 71%] 2647s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 71%] 2647s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 71%] 2647s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] 2647s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 2647s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 2648s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 2648s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 2648s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 79%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 79%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 79%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 79%] 2648s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 2648s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 2648s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 2648s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 2648s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 2648s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 2648s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 2648s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 2648s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 2648s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 81%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 81%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 81%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 81%] 2649s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 2649s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 2649s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 2649s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 2649s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 2649s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 2649s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 2649s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 2649s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 2649s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 2649s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 2649s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 2649s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 2649s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 2649s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 2649s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 2649s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 2649s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 2649s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 2649s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 2649s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 2649s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 2649s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 2649s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 2650s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 92%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 2650s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 2651s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 2651s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 2651s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 2652s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 2652s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 2652s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 2652s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 2652s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 2652s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 2652s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 2653s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 2653s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 2653s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 2653s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 2653s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 2653s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 2653s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 2653s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 2653s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 2653s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 2653s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 2653s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 2653s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 2653s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 2653s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 2653s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 2653s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 2653s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 2654s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 2654s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 2654s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 2654s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 2654s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 2654s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 2654s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 2654s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 2654s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 2654s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 2654s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 2654s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 2654s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 2655s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 2655s 2655s =============================== warnings summary =============================== 2655s tests/translate/storage/test_cpo.py:15 2655s Warning: 2655s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 2655s ImportError('gettext PO library not found') 2655s In pytest 9.1 this warning will become an error by default. 2655s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 2655s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 2655s 2655s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 2655s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 2655s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 2655s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 2655s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 2655s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 2655s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 2655s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 2655s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 2655s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 2655s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 2655s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 2655s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 2655s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 2655s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 2655s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 2655s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 2655s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 2655s Warning: Could not find accesskey for key.accesskey 2655s 2655s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 2655s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 2655s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 2655s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 2655s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 2655s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.idml'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 2655s Warning: unclosed file <_io.BufferedReader name='translation.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 2655s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp 2655s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 2655s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 2655s Warning: Could not find accesskey for prop.accesskey 2655s 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 2655s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 2655s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 2655s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 2655s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 2655s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 2655s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 2655s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 2655s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 2655s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 2655s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 2655s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.VnprCm/autopkgtest_tmp/tests/translate/convert/test.odt'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 2655s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 2655s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 2655s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 2655s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 2655s Enable tracemalloc to get traceback where the object was allocated. 2655s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 2655s 2655s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 2655s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 2655s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 2655s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 2655s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 2655s 2655s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 2655s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 2655s 2655s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 2655s Warning: DTD file '' does not validate 2655s 2655s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2655s --------------------------- snapshot report summary ---------------------------- 2655s 23 snapshots passed. 2655s =========================== short test summary info ============================ 2655s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 2655s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 2655s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 2655s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 2655s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 2655s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 2655s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 2655s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 2655s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 2655s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 2655s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 2655s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 2655s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 2655s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 2655s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 2655s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 2655s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 2655s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 2655s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 2655s 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. 2655s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 2655s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 2655s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 2655s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 2655s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 2655s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 2655s 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 2655s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 2655s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 2655s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 2655s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 2655s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 2655s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 2655s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 2655s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 2655s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 2655s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 2655s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 2655s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 2655s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 2655s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 2655s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 2655s ===== 3328 passed, 3 skipped, 39 xfailed, 51 warnings in 897.35s (0:14:57) ===== 2656s autopkgtest [03:14:35]: test python3-translate-commands: -----------------------] 2657s python3-translate-commands PASS 2657s autopkgtest [03:14:36]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 2658s autopkgtest [03:14:37]: @@@@@@@@@@@@@@@@@@@@ summary 2658s translate-toolkit PASS 2658s python3-translate PASS 2658s python3-translate-commands PASS 2675s nova [W] Using flock in prodstack6-ppc64el 2675s Creating nova instance adt-plucky-ppc64el-translate-toolkit-20250220-004621-juju-7f2275-prod-proposed-migration-environment-2-b1107552-a28a-4a43-a934-8e2849e06113 from image adt/ubuntu-plucky-ppc64el-server-20250219.img (UUID 54e7bc81-8a85-40fa-b450-97b95b386f53)... 2675s nova [W] Timed out waiting for a096cb4f-fe9e-45f4-88a6-f1d3255ad139 to get deleted. 2675s nova [W] Using flock in prodstack6-ppc64el 2675s Creating nova instance adt-plucky-ppc64el-translate-toolkit-20250220-004621-juju-7f2275-prod-proposed-migration-environment-2-b1107552-a28a-4a43-a934-8e2849e06113 from image adt/ubuntu-plucky-ppc64el-server-20250219.img (UUID 54e7bc81-8a85-40fa-b450-97b95b386f53)... 2675s nova [W] Timed out waiting for 8b145287-b9ad-44cd-b4b3-08d81553adec to get deleted. 2675s nova [W] Using flock in prodstack6-ppc64el 2675s Creating nova instance adt-plucky-ppc64el-translate-toolkit-20250220-004621-juju-7f2275-prod-proposed-migration-environment-2-b1107552-a28a-4a43-a934-8e2849e06113 from image adt/ubuntu-plucky-ppc64el-server-20250219.img (UUID 54e7bc81-8a85-40fa-b450-97b95b386f53)... 2675s nova [W] Timed out waiting for 28d33046-3009-4dae-b19c-a06d02e0bbbc to get deleted.