0s autopkgtest [06:08:07]: starting date and time: 2024-07-21 06:08:07+0000 0s autopkgtest [06:08:07]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [06:08:07]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.5jedqp3g/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.4-1 python3-stdlib-extensions/3.12.4-2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos01-s390x-10.secgroup --name adt-oracular-s390x-translate-toolkit-20240721-060807-juju-7f2275-prod-proposed-migration-environment-2-10edf6c8-6ece-4167-b1e7-7dc3eec0262f --image adt/ubuntu-oracular-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://us.ports.ubuntu.com/ubuntu-ports/ 115s autopkgtest [06:10:02]: testbed dpkg architecture: s390x 115s autopkgtest [06:10:02]: testbed apt version: 2.9.6 115s autopkgtest [06:10:02]: @@@@@@@@@@@@@@@@@@@@ test bed setup 116s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 117s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [62.2 kB] 117s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [4724 B] 117s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 117s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [407 kB] 117s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [101 kB] 117s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x c-n-f Metadata [2112 B] 117s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1368 B] 117s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x c-n-f Metadata [120 B] 117s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [464 kB] 117s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x c-n-f Metadata [8372 B] 117s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [2744 B] 117s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x c-n-f Metadata [120 B] 117s Fetched 1188 kB in 1s (1341 kB/s) 117s Reading package lists... 120s Reading package lists... 120s Building dependency tree... 120s Reading state information... 120s Calculating upgrade... 120s The following packages will be upgraded: 120s libbpf1 libpython3-stdlib python3 python3-gdbm python3-minimal 120s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 120s Need to get 259 kB of archives. 120s After this operation, 26.6 kB of additional disk space will be used. 120s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-minimal s390x 3.12.4-1 [27.1 kB] 120s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3 s390x 3.12.4-1 [24.0 kB] 120s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x libpython3-stdlib s390x 3.12.4-1 [9826 B] 120s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libbpf1 s390x 1:1.4.5-1 [180 kB] 121s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-gdbm s390x 3.12.4-2 [18.5 kB] 121s Fetched 259 kB in 0s (548 kB/s) 121s (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 ... 54753 files and directories currently installed.) 121s Preparing to unpack .../python3-minimal_3.12.4-1_s390x.deb ... 121s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 121s Setting up python3-minimal (3.12.4-1) ... 121s (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 ... 54753 files and directories currently installed.) 121s Preparing to unpack .../python3_3.12.4-1_s390x.deb ... 121s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 121s Preparing to unpack .../libpython3-stdlib_3.12.4-1_s390x.deb ... 121s Unpacking libpython3-stdlib:s390x (3.12.4-1) over (3.12.3-0ubuntu1) ... 121s Preparing to unpack .../libbpf1_1%3a1.4.5-1_s390x.deb ... 121s Unpacking libbpf1:s390x (1:1.4.5-1) over (1:1.4.3-1) ... 121s Preparing to unpack .../python3-gdbm_3.12.4-2_s390x.deb ... 121s Unpacking python3-gdbm:s390x (3.12.4-2) over (3.12.3-0ubuntu1) ... 121s Setting up libbpf1:s390x (1:1.4.5-1) ... 121s Setting up libpython3-stdlib:s390x (3.12.4-1) ... 121s Setting up python3 (3.12.4-1) ... 122s Setting up python3-gdbm:s390x (3.12.4-2) ... 122s Processing triggers for man-db (2.12.1-2) ... 122s Processing triggers for libc-bin (2.39-0ubuntu9) ... 122s Reading package lists... 122s Building dependency tree... 122s Reading state information... 123s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 123s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 123s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 123s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 123s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 124s Reading package lists... 124s Reading package lists... 125s Building dependency tree... 125s Reading state information... 125s Calculating upgrade... 125s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 125s Reading package lists... 125s Building dependency tree... 125s Reading state information... 126s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 128s autopkgtest [06:10:15]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:14:26 UTC 2024 129s autopkgtest [06:10:16]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 131s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (dsc) [3132 B] 131s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (tar) [1173 kB] 131s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (diff) [24.5 kB] 132s gpgv: Signature made Mon Jul 15 08:19:40 2024 UTC 132s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 132s gpgv: Can't check signature: No public key 132s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.2-1.dsc: no acceptable signature found 132s autopkgtest [06:10:19]: testing package translate-toolkit version 3.13.2-1 132s autopkgtest [06:10:19]: build not needed 133s autopkgtest [06:10:20]: test translate-toolkit: preparing testbed 135s Reading package lists... 135s Building dependency tree... 135s Reading state information... 135s Starting pkgProblemResolver with broken count: 0 135s Starting 2 pkgProblemResolver with broken count: 0 135s Done 135s The following additional packages will be installed: 135s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 135s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 135s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 135s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 135s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 135s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 135s python3-more-itertools python3-phply python3-ply python3-pycountry 135s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 135s python3-simplejson python3-soupsieve python3-translate python3-vobject 135s python3-wcwidth python3-xapian subversion translate-toolkit 135s Suggested packages: 135s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 135s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 135s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 135s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 135s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 135s subversion-tools 135s Recommended packages: 135s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 135s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 135s The following NEW packages will be installed: 135s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 135s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 135s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 135s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 135s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 135s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 135s python3-mistletoe python3-more-itertools python3-phply python3-ply 135s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 135s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 135s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 135s translate-toolkit 135s 0 upgraded, 44 newly installed, 0 to remove and 0 not upgraded. 135s Need to get 11.0 MB/11.0 MB of archives. 135s After this operation, 47.5 MB of additional disk space will be used. 135s Get:1 /tmp/autopkgtest.x4FEHg/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [880 B] 135s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 136s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 136s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14.1.0-4ubuntu2 [150 kB] 136s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.22.5-1 [989 kB] 136s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 136s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.2 [113 kB] 136s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-2ubuntu1 [97.9 kB] 136s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 136s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 136s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 136s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 136s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 136s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 136s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-2 [1363 kB] 136s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 136s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 136s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.15-1 [231 kB] 136s Get:19 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 136s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 136s Get:21 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-charset-normalizer all 3.3.2-1 [47.9 kB] 136s Get:22 http://ftpmaster.internal/ubuntu oracular/main s390x python3-more-itertools all 10.3.0-1 [54.9 kB] 136s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 136s Get:24 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 136s Get:25 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 136s Get:26 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 136s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 136s Get:28 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.9.4+ds-1 [1481 kB] 136s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 136s Get:30 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.2-1 [1297 kB] 136s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 136s Get:32 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 136s Get:33 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 136s Get:34 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1build1 [142 kB] 136s Get:35 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 136s Get:36 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 136s Get:37 http://ftpmaster.internal/ubuntu oracular/main s390x python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 136s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.13.2-1 [319 kB] 136s Get:39 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 136s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-xapian s390x 1.4.22-1build5 [366 kB] 136s Get:41 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-2 [909 kB] 136s Get:42 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.13.2-1 [81.0 kB] 136s Get:43 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 136s Get:44 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 137s Preconfiguring packages ... 137s Fetched 11.0 MB in 1s (9721 kB/s) 137s Selecting previously unselected package emacsen-common. 137s (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 ... 54756 files and directories currently installed.) 137s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 137s Unpacking emacsen-common (3.0.5) ... 137s Selecting previously unselected package dictionaries-common. 137s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 137s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 137s Unpacking dictionaries-common (1.29.7) ... 137s Selecting previously unselected package libgomp1:s390x. 137s Preparing to unpack .../02-libgomp1_14.1.0-4ubuntu2_s390x.deb ... 137s Unpacking libgomp1:s390x (14.1.0-4ubuntu2) ... 137s Selecting previously unselected package gettext. 137s Preparing to unpack .../03-gettext_0.22.5-1_s390x.deb ... 137s Unpacking gettext (0.22.5-1) ... 137s Selecting previously unselected package hunspell-en-us. 137s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 137s Unpacking hunspell-en-us (1:2020.12.07-2) ... 137s Selecting previously unselected package libapr1t64:s390x. 137s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_s390x.deb ... 137s Unpacking libapr1t64:s390x (1.7.2-3.2) ... 137s Selecting previously unselected package libaprutil1t64:s390x. 137s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_s390x.deb ... 137s Unpacking libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 137s Selecting previously unselected package libaspell15:s390x. 137s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 137s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 137s Selecting previously unselected package libhunspell-1.7-0:s390x. 137s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 137s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 137s Selecting previously unselected package libenchant-2-2:s390x. 137s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 137s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 137s Selecting previously unselected package libexttextcat-data. 137s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 137s Unpacking libexttextcat-data (3.4.7-1build1) ... 137s Selecting previously unselected package libserf-1-1:s390x. 137s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 137s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 137s Selecting previously unselected package libutf8proc3:s390x. 137s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 137s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 137s Selecting previously unselected package libsvn1:s390x. 137s Preparing to unpack .../13-libsvn1_1.14.3-2_s390x.deb ... 137s Unpacking libsvn1:s390x (1.14.3-2) ... 137s Selecting previously unselected package libxapian30:s390x. 137s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 137s Unpacking libxapian30:s390x (1.4.22-1build1) ... 137s Selecting previously unselected package libxslt1.1:s390x. 137s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 137s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 137s Selecting previously unselected package python3-aeidon. 137s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 137s Unpacking python3-aeidon (1.15-1) ... 137s Selecting previously unselected package python3-soupsieve. 137s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 137s Unpacking python3-soupsieve (2.5-1) ... 137s Selecting previously unselected package python3-bs4. 137s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 137s Unpacking python3-bs4 (4.12.3-1) ... 137s Selecting previously unselected package python3-charset-normalizer. 137s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 137s Unpacking python3-charset-normalizer (3.3.2-1) ... 137s Selecting previously unselected package python3-more-itertools. 137s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 137s Unpacking python3-more-itertools (10.3.0-1) ... 137s Selecting previously unselected package python3-jaraco.functools. 137s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 137s Unpacking python3-jaraco.functools (4.0.0-1) ... 137s Selecting previously unselected package python3-cheroot. 138s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 138s Unpacking python3-cheroot (10.0.0+ds1-2) ... 138s Selecting previously unselected package python3-dateutil. 138s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 138s Unpacking python3-dateutil (2.9.0-2) ... 138s Selecting previously unselected package python3-diff-match-patch. 138s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 138s Unpacking python3-diff-match-patch (20230430-1) ... 138s Selecting previously unselected package python3-enchant. 138s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 138s Unpacking python3-enchant (3.2.2-1) ... 138s Selecting previously unselected package python3-rapidfuzz. 138s Preparing to unpack .../26-python3-rapidfuzz_3.9.4+ds-1_s390x.deb ... 138s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 138s Selecting previously unselected package python3-levenshtein. 138s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_s390x.deb ... 138s Unpacking python3-levenshtein (0.25.1-3) ... 138s Selecting previously unselected package python3-lxml:s390x. 138s Preparing to unpack .../28-python3-lxml_5.2.2-1_s390x.deb ... 138s Unpacking python3-lxml:s390x (5.2.2-1) ... 138s Selecting previously unselected package python3-mistletoe. 138s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 138s Unpacking python3-mistletoe (1.3.0-1) ... 138s Selecting previously unselected package python3-ply. 138s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 138s Unpacking python3-ply (3.11-6) ... 138s Selecting previously unselected package python3-phply. 138s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 138s Unpacking python3-phply (1.2.6-1) ... 138s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 138s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_s390x.deb ... 138s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 138s Selecting previously unselected package python3-ruamel.yaml. 138s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 138s Unpacking python3-ruamel.yaml (0.17.21-1) ... 138s Selecting previously unselected package python3-simplejson. 138s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_s390x.deb ... 138s Unpacking python3-simplejson (3.19.2-1build2) ... 138s Selecting previously unselected package python3-wcwidth. 138s Preparing to unpack .../35-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 138s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 138s Selecting previously unselected package python3-translate. 138s Preparing to unpack .../36-python3-translate_3.13.2-1_all.deb ... 138s Unpacking python3-translate (3.13.2-1) ... 138s Selecting previously unselected package python3-vobject. 138s Preparing to unpack .../37-python3-vobject_0.9.6.1-2_all.deb ... 138s Unpacking python3-vobject (0.9.6.1-2) ... 138s Selecting previously unselected package python3-xapian. 138s Preparing to unpack .../38-python3-xapian_1.4.22-1build5_s390x.deb ... 138s Unpacking python3-xapian (1.4.22-1build5) ... 138s Selecting previously unselected package subversion. 138s Preparing to unpack .../39-subversion_1.14.3-2_s390x.deb ... 138s Unpacking subversion (1.14.3-2) ... 138s Selecting previously unselected package translate-toolkit. 138s Preparing to unpack .../40-translate-toolkit_3.13.2-1_all.deb ... 138s Unpacking translate-toolkit (3.13.2-1) ... 138s Selecting previously unselected package python3-iniparse. 138s Preparing to unpack .../41-python3-iniparse_0.5-2_all.deb ... 138s Unpacking python3-iniparse (0.5-2) ... 138s Selecting previously unselected package python3-pycountry. 138s Preparing to unpack .../42-python3-pycountry_24.6.1+ds1-1_all.deb ... 138s Unpacking python3-pycountry (24.6.1+ds1-1) ... 138s Selecting previously unselected package autopkgtest-satdep. 138s Preparing to unpack .../43-1-autopkgtest-satdep.deb ... 138s Unpacking autopkgtest-satdep (0) ... 138s Setting up python3-more-itertools (10.3.0-1) ... 139s Setting up libxapian30:s390x (1.4.22-1build1) ... 139s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 139s Setting up python3-diff-match-patch (20230430-1) ... 139s Setting up python3-jaraco.functools (4.0.0-1) ... 139s Setting up python3-aeidon (1.15-1) ... 139s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 139s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 139s Setting up python3-charset-normalizer (3.3.2-1) ... 140s Setting up python3-ply (3.11-6) ... 140s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 140s Setting up libgomp1:s390x (14.1.0-4ubuntu2) ... 140s Setting up python3-simplejson (3.19.2-1build2) ... 140s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 140s Setting up emacsen-common (3.0.5) ... 140s Setting up python3-cheroot (10.0.0+ds1-2) ... 141s Setting up python3-pycountry (24.6.1+ds1-1) ... 141s Setting up python3-xapian (1.4.22-1build5) ... 141s Setting up python3-ruamel.yaml (0.17.21-1) ... 141s Setting up python3-mistletoe (1.3.0-1) ... 141s Setting up libexttextcat-data (3.4.7-1build1) ... 141s Setting up libapr1t64:s390x (1.7.2-3.2) ... 141s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 141s Setting up python3-dateutil (2.9.0-2) ... 141s Setting up python3-levenshtein (0.25.1-3) ... 142s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 142s Setting up python3-soupsieve (2.5-1) ... 142s Setting up python3-iniparse (0.5-2) ... 142s Setting up libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 142s Setting up python3-vobject (0.9.6.1-2) ... 142s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 142s patterns['name'] = '[a-zA-Z0-9\-_]+' 142s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 142s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 142s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 142s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 142s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 142s """ 142s Setting up gettext (0.22.5-1) ... 142s Setting up python3-phply (1.2.6-1) ... 143s Setting up dictionaries-common (1.29.7) ... 143s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 143s Setting up python3-bs4 (4.12.3-1) ... 143s Setting up python3-lxml:s390x (5.2.2-1) ... 143s Setting up hunspell-en-us (1:2020.12.07-2) ... 143s Setting up libsvn1:s390x (1.14.3-2) ... 143s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 143s Setting up subversion (1.14.3-2) ... 143s Setting up python3-enchant (3.2.2-1) ... 144s Setting up python3-translate (3.13.2-1) ... 144s Setting up translate-toolkit (3.13.2-1) ... 144s Setting up autopkgtest-satdep (0) ... 144s Processing triggers for man-db (2.12.1-2) ... 145s Processing triggers for install-info (7.1-3build2) ... 145s Processing triggers for libc-bin (2.39-0ubuntu9) ... 145s Processing triggers for dictionaries-common (1.29.7) ... 149s (Reading database ... 58228 files and directories currently installed.) 149s Removing autopkgtest-satdep (0) ... 149s autopkgtest [06:10:36]: test translate-toolkit: [----------------------- 149s ========= SMOKE TEST: /usr/bin/android2po =========== 149s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 149s 149s Convert Android string files to Gettext PO localization files. See: 149s http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/android2po.html for examples and usage 149s instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in xml format 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in po, pot formats 149s -t TEMPLATE, --template=TEMPLATE 149s read from TEMPLATE in xml format 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 149s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 149s input files [input files ...] 149s 149s positional arguments: 149s input files 149s 149s options: 149s -h, --help show this help message and exit 149s -d TMDB_FILE, --tmdb TMDB_FILE 149s translation memory database file (default: tm.db) 149s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 149s source language of translation files (default: en) 149s -t TARGET_LANG, --import-target-lang TARGET_LANG 149s target language of translation files 150s ========= SMOKE TEST: /usr/bin/csv2po =========== 150s 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] 150s 150s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 150s See: http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in csv format 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in po, pot, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -P, --pot output PO Templates (.pot) rather than PO files (.po) 150s --charset=CHARSET set charset to decode from csv files 150s --columnorder=COLUMNORDER 150s specify the order and position of columns 150s (location,source,target,context) 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 150s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 150s glossary file. See: http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in csv format 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in tbx format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s --charset=CHARSET set charset to decode from csv files 150s --columnorder=COLUMNORDER 150s specify the order and position of columns 150s (comment,source,target) 150s ========= SMOKE TEST: /usr/bin/dtd2po =========== 150s 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] 150s 150s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 150s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 150s this module You can convert back to .dtd using po2dtd.py. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in dtd format 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in dtd format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -P, --pot output PO Templates (.pot) rather than PO files (.po) 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 150s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert flat XML files to Gettext PO localization files. See: 150s http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/flatxml2po.html for examples and usage 150s instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in xml format 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -r ROOT, --root=ROOT name of the XML root element (default: "root") 150s -v VALUE, --value=VALUE 150s name of the XML value element (default: "str") 150s -k KEY, --key=KEY name of the XML key attribute (default: "key") 150s -n NS, --namespace=NS 150s XML namespace uri (default: None) 150s ========= SMOKE TEST: /usr/bin/html2po =========== 150s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 150s 150s Convert HTML files to Gettext PO localization files. See: 150s http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in htm, html, xhtml formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -P, --pot output PO Templates (.pot) rather than PO files (.po) 150s --keepcomments preserve html comments as translation notes in the 150s output 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s --multifile=MULTIFILESTYLE 150s how to split po/pot files (single, toplevel or 150s onefile) 150s ========= SMOKE TEST: /usr/bin/ical2po =========== 150s 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] 150s 150s Convert iCalendar files to Gettext PO localization files. See: 150s http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in ics format 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in ics format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -P, --pot output PO Templates (.pot) rather than PO files (.po) 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s ========= SMOKE TEST: /usr/bin/idml2po =========== 150s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert IDML files to PO localization files. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in idml format 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 151s ========= SMOKE TEST: /usr/bin/ini2po =========== 151s 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] 151s 151s Convert .ini files to Gettext PO localization files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in ini, isl, iss formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in po, pot formats 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in ini, isl, iss formats 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s -P, --pot output PO Templates (.pot) rather than PO files (.po) 151s --duplicates=DUPLICATESTYLE 151s what to do with duplicate strings (identical source 151s text): merge, msgctxt (default: 'msgctxt') 151s ========= SMOKE TEST: /usr/bin/json2po =========== 151s 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] 151s 151s Convert JSON files to Gettext PO localization files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in json format 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in po, pot formats 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in json format 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s -P, --pot output PO Templates (.pot) rather than PO files (.po) 151s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 151s everything) 151s --duplicates=DUPLICATESTYLE 151s what to do with duplicate strings (identical source 151s text): merge, msgctxt (default: 'msgctxt') 151s ========= SMOKE TEST: /usr/bin/md2po =========== 151s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 151s 151s Convert Markdown files to Gettext PO localization files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in markdown, md, text, txt formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in po, pot formats 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s -P, --pot output PO Templates (.pot) rather than PO files (.po) 151s --duplicates=DUPLICATESTYLE 151s what to do with duplicate strings (identical source 151s text): merge, msgctxt (default: 'msgctxt') 151s --multifile=MULTIFILESTYLE 151s how to split po/pot files (single, toplevel or 151s onefile) 152s ========= SMOKE TEST: /usr/bin/moz2po =========== 152s 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] 152s 152s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 152s See: http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in *, dtd, inc, ini, it, js, lang, 152s manifest, properties, rdf formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 152s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 152s lang.pot, manifest, properties.po, properties.pot, rdf 152s formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 152s manifest, properties, rdf formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s -P, --pot output PO Templates (.pot) rather than PO files (.po) 152s --duplicates=DUPLICATESTYLE 152s what to do with duplicate strings (identical source 152s text): merge, msgctxt (default: 'msgctxt') 152s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 152s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 152s 152s Convert Mozilla .lang files to Gettext PO localization files. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in lang format 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in po, pot formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s -P, --pot output PO Templates (.pot) rather than PO files (.po) 152s --encoding=ENCODING The encoding of the input file (default: UTF-8) 152s --duplicates=DUPLICATESTYLE 152s what to do with duplicate strings (identical source 152s text): merge, msgctxt (default: 'msgctxt') 152s ========= SMOKE TEST: /usr/bin/msghack =========== 152s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 152s This program can be used to alter .po files in ways no sane mind would think about. 152s -o result will be written to FILE 152s --invert invert a po file by switching msgid and msgstr 152s --master join any number of files in a master-formatted catalog 152s --empty empty the contents of the .po file, creating a .pot 152s --append append entries from ref.po that don't exist in file.po 152s 152s Note: It is just a replacement of msghack for backward support. 152s 152s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 152s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 152s 152s Convert OpenDocument (ODF) files to XLIFF localization files. See: 152s http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 152s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 152s formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in xlf, xliff formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s ========= SMOKE TEST: /usr/bin/oo2po =========== 152s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 152s 152s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 152s files. See: http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in oo, sdf formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in po, pot formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s -P, --pot output PO Templates (.pot) rather than PO files (.po) 152s -l LANG, --language=LANG 152s set target language to extract from oo file (e.g. af- 152s ZA) 152s --source-language=LANG 152s set source language code (default en-US) 152s --nonrecursiveinput don't treat the input oo as a recursive store 152s --duplicates=DUPLICATESTYLE 152s what to do with duplicate strings (identical source 152s text): merge, msgctxt (default: 'msgctxt') 152s --multifile=MULTIFILESTYLE 152s how to split po/pot files (single, toplevel or 152s onefile) 152s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 152s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 152s 152s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 152s files. See: http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in oo, sdf formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in xlf, xliff formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s -l LANG, --language=LANG 152s set target language to extract from oo file (e.g. af- 152s ZA) 152s --source-language=LANG 152s set source language code (default en-US) 152s --nonrecursiveinput don't treat the input oo as a recursive store 152s --duplicates=DUPLICATESTYLE 152s what to do with duplicate strings (identical source 152s text): merge, msgctxt (default: 'msgctxt') 152s --multifile=MULTIFILESTYLE 152s how to split po/pot files (single, toplevel or 152s onefile) 152s ========= SMOKE TEST: /usr/bin/php2po =========== 152s 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] 152s 152s Convert PHP localization files to Gettext PO localization files. See: 152s http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in html, php formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in po, pot formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in html, php formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s -P, --pot output PO Templates (.pot) rather than PO files (.po) 152s --duplicates=DUPLICATESTYLE 152s what to do with duplicate strings (identical source 152s text): merge, msgctxt (default: 'msgctxt') 152s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 152s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 152s 152s Convert PHP format .po files to Python format .po files. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in po, pot formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 153s ========= SMOKE TEST: /usr/bin/po2csv =========== 153s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 153s 153s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 153s See: http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in csv format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --columnorder=COLUMNORDER 153s specify the order and position of columns 153s (location,source,target,context) 153s ========= SMOKE TEST: /usr/bin/po2dtd =========== 153s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 153s Conversion is either done using a template plus PO file or just using the 153s .po file. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in dtd format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in dtd format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s --removeuntranslated remove untranslated strings from output 153s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 153s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to flat XML files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/flatxml2po.html for examples and usage 153s instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in xml format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in xml format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s -r ROOT, --root=ROOT name of the XML root element (default: "root") 153s -v VALUE, --value=VALUE 153s name of the XML value element (default: "str") 153s -k KEY, --key=KEY name of the XML key attribute (default: "key") 153s -n NS, --namespace=NS 153s XML namespace uri (default: None) 153s -w INDENT, --indent=INDENT 153s indent width in spaces, 0 for no indent (default: 2) 153s ========= SMOKE TEST: /usr/bin/po2html =========== 153s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Translate HTML files using Gettext PO localization files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in htm, html, xhtml formats 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in htm, html, xhtml formats 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s ========= SMOKE TEST: /usr/bin/po2ical =========== 153s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to iCalendar files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in ics format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in ics format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s ========= SMOKE TEST: /usr/bin/po2idml =========== 153s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Takes an IDML template file and a PO file containing translations of strings 153s in the IDML template. It creates a new IDML file using the translations of the 153s PO file. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in idml format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in idml format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s ========= SMOKE TEST: /usr/bin/po2ini =========== 154s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 154s 154s Convert Gettext PO localization files to .ini files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in ini, isl formats 154s -t TEMPLATE, --template=TEMPLATE 154s read from TEMPLATE in ini, isl formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s --threshold=PERCENT only convert files where the translation completion is 154s above PERCENT 154s --fuzzy use translations marked fuzzy 154s --nofuzzy don't use translations marked fuzzy (default) 154s ========= SMOKE TEST: /usr/bin/po2json =========== 154s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 154s 154s Convert Gettext PO localization files to JSON files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in json format 154s -t TEMPLATE, --template=TEMPLATE 154s read from TEMPLATE in json format 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s --threshold=PERCENT only convert files where the translation completion is 154s above PERCENT 154s --fuzzy use translations marked fuzzy 154s --nofuzzy don't use translations marked fuzzy (default) 154s --removeuntranslated remove untranslated strings from output 154s ========= SMOKE TEST: /usr/bin/po2md =========== 154s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 154s 154s Translate Markdown files using Gettext PO localization files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in markdown, md, text, txt formats 154s -t TEMPLATE, --template=TEMPLATE 154s read from TEMPLATE in markdown, md, text, txt formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s -m MAXLENGTH, --maxlinelength=MAXLENGTH 154s reflow (word wrap) the output to the given maximum 154s line length. set to 0 to disable 154s --threshold=PERCENT only convert files where the translation completion is 154s above PERCENT 154s --fuzzy use translations marked fuzzy 154s --nofuzzy don't use translations marked fuzzy (default) 154s ========= SMOKE TEST: /usr/bin/po2moz =========== 154s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 154s 154s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 154s See: http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in *, dtd.po, dtd.pot, inc.po, 154s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 154s lang.pot, manifest, properties.po, properties.pot, rdf 154s formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 154s manifest, properties, rdf formats 154s -t TEMPLATE, --template=TEMPLATE 154s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 154s manifest, properties, rdf formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s -l LOCALE, --locale=LOCALE 154s set output locale (required as this sets the directory 154s names) 154s --threshold=PERCENT only convert files where the translation completion is 154s above PERCENT 154s --fuzzy use translations marked fuzzy 154s --nofuzzy don't use translations marked fuzzy (default) 154s --removeuntranslated remove untranslated strings from output 155s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 155s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Convert Gettext PO localization files to Mozilla .lang files. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in lang format 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in lang format 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s --mark-active mark the file as active 155s --threshold=PERCENT only convert files where the translation completion is 155s above PERCENT 155s --fuzzy use translations marked fuzzy 155s --nofuzzy don't use translations marked fuzzy (default) 155s ========= SMOKE TEST: /usr/bin/po2oo =========== 155s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 155s file. See: http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot, xlf, xliff formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in oo, sdf formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in oo, sdf formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s -l LANG, --language=LANG 155s set target language code (e.g. af-ZA) [required] 155s --source-language=LANG 155s set source language code (default en-US) 155s -T, --keeptimestamp don't change the timestamps of the strings 155s --nonrecursiveoutput don't treat the output oo as a recursive store 155s --nonrecursivetemplate 155s don't treat the template oo as a recursive store 155s --skipsource don't output the source language, but fallback to it 155s where needed 155s --filteraction=ACTION 155s action on pofilter failure: none (default), warn, 155s exclude-serious, exclude-all 155s --threshold=PERCENT only convert files where the translation completion is 155s above PERCENT 155s --fuzzy use translations marked fuzzy 155s --nofuzzy don't use translations marked fuzzy (default) 155s --multifile=MULTIFILESTYLE 155s how to split po/pot files (single, toplevel or 155s onefile) 155s ========= SMOKE TEST: /usr/bin/po2php =========== 155s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Convert Gettext PO localization files to PHP localization files. See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in html, php formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in html, php formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s --threshold=PERCENT only convert files where the translation completion is 155s above PERCENT 155s --fuzzy use translations marked fuzzy 155s --nofuzzy don't use translations marked fuzzy (default) 155s ========= SMOKE TEST: /usr/bin/po2prop =========== 155s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Convert Gettext PO localization files to Java/Mozilla .properties files. 155s See: http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in lang, properties, strings formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in lang, properties, strings 155s formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s --personality=TYPE override the input file format: java, java-utf8, java- 155s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 155s strings, strings-utf8, joomla (for .properties files, 155s default: java) 155s --encoding=ENCODING override the encoding set by the personality 155s --threshold=PERCENT only convert files where the translation completion is 155s above PERCENT 155s --fuzzy use translations marked fuzzy 155s --nofuzzy don't use translations marked fuzzy (default) 155s --removeuntranslated remove untranslated strings from output 155s ========= SMOKE TEST: /usr/bin/po2rc =========== 155s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Convert Gettext PO localization files back to Windows Resource (.rc) files. 155s See: http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in rc format 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in rc format 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 155s -l LANG, --lang=LANG LANG entry 155s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 155s --threshold=PERCENT only convert files where the translation completion is 155s above PERCENT 155s --fuzzy use translations marked fuzzy 155s --nofuzzy don't use translations marked fuzzy (default) 156s ========= SMOKE TEST: /usr/bin/po2resx =========== 156s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 156s 156s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in resx format 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in resx format 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s --fuzzy use translations marked fuzzy 156s --nofuzzy don't use translations marked fuzzy (default) 156s ========= SMOKE TEST: /usr/bin/po2sub =========== 156s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 156s 156s Convert Gettext PO localization files to subtitle files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in ass, srt, ssa, sub formats 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in ass, srt, ssa, sub formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s --threshold=PERCENT only convert files where the translation completion is 156s above PERCENT 156s --fuzzy use translations marked fuzzy 156s --nofuzzy don't use translations marked fuzzy (default) 156s ========= SMOKE TEST: /usr/bin/po2symb =========== 156s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 156s 156s Convert Gettext PO localization files to Symbian translation files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in r0 format 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s --duplicates=DUPLICATESTYLE 156s what to do with duplicate strings (identical source 156s text): merge, msgctxt (default: 'msgctxt') 156s ========= SMOKE TEST: /usr/bin/po2tiki =========== 156s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 156s 156s Convert Gettext PO files to TikiWiki's language.php files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in tiki format 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s ========= SMOKE TEST: /usr/bin/po2tmx =========== 156s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 156s 156s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 156s file. See: http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in tmx format 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -l LANG, --language=LANG 156s set target language code (e.g. af-ZA) [required] 156s --source-language=LANG 156s set source language code (default: en) 156s --comments=COMMENT set default comment import: none, source, type or 156s others (default: none) 156s ========= SMOKE TEST: /usr/bin/po2ts =========== 156s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 156s 156s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in po, pot formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in ts format 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in ts format 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -c CONTEXT, --context=CONTEXT 156s use supplied context instead of the one in the .po 156s file comment 156s ========= SMOKE TEST: /usr/bin/po2txt =========== 157s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Gettext PO localization files to plain text (.txt) files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot, xlf, xliff formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in txt format 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in txt format 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --encoding=ENCODING The encoding of the template file (default: UTF-8) 157s -w WRAP, --wrap=WRAP set number of columns to wrap text at 157s --threshold=PERCENT only convert files where the translation completion is 157s above PERCENT 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s ========= SMOKE TEST: /usr/bin/po2web2py =========== 157s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 157s 157s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in py format 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --threshold=PERCENT only convert files where the translation completion is 157s above PERCENT 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 157s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 157s 157s Convert Gettext PO localization files to a Wordfast translation memory file. 157s See: http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/po2wordfast.html for examples and usage 157s instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in txt format 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s -l LANG, --language=LANG 157s set target language code (e.g. af-ZA) [required] 157s --source-language=LANG 157s set source language code (default: en) 157s ========= SMOKE TEST: /usr/bin/po2xliff =========== 157s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Gettext PO localization files to XLIFF localization files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in xlf, xliff formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in xlf, xliff formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s ========= SMOKE TEST: /usr/bin/po2yaml =========== 157s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert Gettext PO localization files to YAML files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in yaml, yml formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in yaml, yml formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --threshold=PERCENT only convert files where the translation completion is 157s above PERCENT 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s ========= SMOKE TEST: /usr/bin/poclean =========== 157s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 157s 157s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 157s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 157s produces the target file with only the target text in from a text version of 157s the RTF. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot, xlf, xliff formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in po, pot, xlf, xliff formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s ========= SMOKE TEST: /usr/bin/pocompendium =========== 157s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 157s The first parameter is the output file, standard output if the output file is '-'. 157s Any number of directories may be specified for input files. 157s Options: 157s --invert|v Creates an inverse compendium with msgid and msgstr swapped 157s --errors|e Only ouput msg bundles that have errors 157s --correct|c Only ouput msg bundles that are correctly translated 157s --ignore-case|i Drops all strings to lowercase 157s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 157s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 157s --strip-accel-under|-su Strip all underscore (_) accelerator characters 157s ========= SMOKE TEST: /usr/bin/pocompile =========== 157s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 157s 157s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 157s Object) files. See: http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot, xlf, xliff formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in mo format 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s ========= SMOKE TEST: /usr/bin/poconflicts =========== 157s 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] 157s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 157s 157s Conflict finder for Gettext PO localization files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/poconflicts.html for examples and usage 157s instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po format 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in po format 157s -I, --ignore-case ignore case distinctions 157s -v, --invert invert the conflicts thus extracting conflicting 157s destination words 157s --accelerator=ACCELERATORS 157s ignores the given accelerator characters when matching 158s ========= SMOKE TEST: /usr/bin/pocount =========== 158s usage: pocount [-h] [--incomplete] 158s [--full | --csv | --short | --short-strings | --short-words] 158s [--no-color] 158s files [files ...] 158s 158s positional arguments: 158s files 158s 158s options: 158s -h, --help show this help message and exit 158s --incomplete skip 100% translated files. 158s 158s Output format: 158s --full (default) statistics in full, verbose format 158s --csv statistics in CSV format 158s --short same as --short-strings 158s --short-strings statistics of strings in short format - one line per file 158s --short-words statistics of words in short format - one line per file 158s --no-color show output without color 158s ========= SMOKE TEST: /usr/bin/podebug =========== 158s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 158s 158s Insert debug messages into XLIFF and Gettext PO localization files. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot, pot, tmx, xlf, xliff 158s formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po, pot, tmx, xlf, xliff formats 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s -f FORMAT, --format=FORMAT 158s specify format string 158s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 158s classified, en, flipped, unicode, xxx 158s --ignore=APPLICATION apply tagging ignore rules for the given application: 158s gtk, kde, libreoffice, mozilla, openoffice 158s --preserveplaceholders 158s attempt to exclude characters that are part of 158s placeholders when performing character-level rewrites 158s so that consuming applications can still use the 158s placeholders to generate final output 158s ========= SMOKE TEST: /usr/bin/pofilter =========== 158s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 158s 158s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 158s Snippet files are created whenever a test fails. These can be examined, 158s corrected and merged back into the originals using pomerge. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 158s and http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 158s tests. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot, tmx, xlf, xliff formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po, pot, tmx, xlf, xliff formats 158s -l, --listfilters list filters available 158s --review include units marked for review (default) 158s --noreview exclude units marked for review 158s --fuzzy include units marked fuzzy (default) 158s --nofuzzy exclude units marked fuzzy 158s --nonotes don't add notes about the errors 158s --autocorrect output automatic corrections where possible rather 158s than describing issues 158s --language=LANG set target language code (e.g. af-ZA) [required for 158s spell check and recommended in general] 158s --openoffice use the standard checks for OpenOffice translations 158s --libreoffice use the standard checks for LibreOffice translations 158s --mozilla use the standard checks for Mozilla translations 158s --drupal use the standard checks for Drupal translations 158s --gnome use the standard checks for Gnome translations 158s --kde use the standard checks for KDE translations 158s --wx use the standard checks for wxWidgets translations 158s --excludefilter=FILTER 158s don't use FILTER when filtering 158s -t FILTER, --test=FILTER 158s only use test FILTERs specified with this option when 158s filtering 158s --notranslatefile=FILE 158s read list of untranslatable words from FILE (must not 158s be translated) 158s --musttranslatefile=FILE 158s read list of translatable words from FILE (must be 158s translated) 158s --validcharsfile=FILE 158s read list of all valid characters from FILE (must be 158s in UTF-8) 158s ========= SMOKE TEST: /usr/bin/pogrep =========== 158s 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] 158s 158s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 158s snippet files of the same type which can then be reviewed and later merged 158s using :doc:`pomerge `. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 158s xliff formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 158s xliff formats 158s --search=SEARCHPARTS searches the given parts (source, target, notes and 158s locations) 158s -I, --ignore-case ignore case distinctions 158s -e, --regexp use regular expression matching 158s -v, --invert-match select non-matching lines 158s --accelerator=ACCELERATOR 158s ignores the given accelerator when matching 158s -k, --keep-translations 158s always extract units with translations 158s ========= SMOKE TEST: /usr/bin/pomerge =========== 158s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 158s 158s Merges XLIFF and Gettext PO localization files. Snippet file produced by 158s e.g. :doc:`pogrep ` and updated by a translator can be 158s merged back into the original files. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot, pot, xlf, xliff formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po, pot, pot, xlf, xliff formats 158s -t TEMPLATE, --template=TEMPLATE 158s read from TEMPLATE in po, pot, pot, xlf, xliff formats 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s --mergeblanks=MERGEBLANKS 158s whether to overwrite existing translations with blank 158s translations (yes/no). Default is yes. 158s --mergefuzzy=MERGEFUZZY 158s whether to consider fuzzy translations from input 158s (yes/no). Default is yes. 158s --mergecomments=MERGECOMMENTS 158s whether to merge comments as well as translations 158s (yes/no). Default is yes. 158s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 158s Usage pomigrate2 [options] 158s 158s Options: 158s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 158s -C|--use-compendium - create and use a compendium built from the migrating files 158s -C|--use-compendium=some-compendium.po 158s - use an external compendium during the migration 158s --no-wrap - do not wrap long lines 158s --locale=lang - set locale for newly born files 158s -q|--quiet - suppress most output 158s -p|--pot2po - use pot2po instead of msgmerge to migrate 158s ========= SMOKE TEST: /usr/bin/popuretext =========== 158s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 158s ========= SMOKE TEST: /usr/bin/poreencode =========== 158s Usage: poreencode 158s eg: poreencode UTF-8 af/ 158s ========= SMOKE TEST: /usr/bin/porestructure =========== 158s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 158s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 158s 158s Restructure Gettxt PO files produced by :doc:`poconflicts 158s ` into the original directory tree for merging using 158s :doc:`pomerge `. See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po format 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po format 158s ========= SMOKE TEST: /usr/bin/posegment =========== 158s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 158s 158s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 158s See: http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot, tmx, xlf, xliff formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po, pot, tmx, xlf, xliff formats 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s -P, --pot output PO Templates (.pot) rather than PO files (.po) 158s -l LANG, --language=LANG 158s the target language code 158s --source-language=LANG 158s the source language code (default 'en') 158s --keepspaces Disable automatic stripping of whitespace 158s --only-aligned Removes units where sentence number does not 158s correspond 158s ========= SMOKE TEST: /usr/bin/poswap =========== 158s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 158s 158s Builds a new translation file with the target of the input language as source 158s language. .. note:: Ensure that the two po files correspond 100% to the same 158s pot file before using this. To translate Kurdish (ku) through French:: 158s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 158s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 158s http://docs.translatehouse.org/projects/translate- 158s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 158s 158s Options: 158s --version show program's version number and exit 158s -h, --help show this help message and exit 158s --manpage output a manpage based on the help 158s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 158s --errorlevel=ERRORLEVEL 158s show errorlevel as: none, message, exception, 158s traceback 158s -i INPUT, --input=INPUT 158s read from INPUT in po, pot formats 158s -x EXCLUDE, --exclude=EXCLUDE 158s exclude names matching EXCLUDE from input paths 158s -o OUTPUT, --output=OUTPUT 158s write to OUTPUT in po, pot formats 158s -t TEMPLATE, --template=TEMPLATE 158s read from TEMPLATE in po, pot, pot formats 158s -S, --timestamp skip conversion if the output file has newer timestamp 158s --reverse reverse the process of intermediate language 158s conversion 159s ========= SMOKE TEST: /usr/bin/pot2po =========== 159s 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] 159s 159s Convert template files (like .pot or template .xlf files) to translation 159s files, preserving existing translations. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 159s formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 159s xliff formats 159s -t TEMPLATE, --template=TEMPLATE 159s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 159s xliff formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -P, --pot output PO Templates (.pot) rather than PO files (.po) 159s --tm=TM The file to use as translation memory when fuzzy 159s matching 159s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 159s The minimum similarity for inclusion (default: 75%) 159s --nofuzzymatching Disable fuzzy matching 159s ========= SMOKE TEST: /usr/bin/poterminology =========== 159s 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] 159s input directory is searched for PO files, terminology PO file is output file 159s 159s Create a terminology file by reading a set of .po or .pot files to produce a 159s pootle-terminology.pot. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/poterminology.html for examples and usage 159s instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in po, pot formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -u UPDATEFILE, --update=UPDATEFILE 159s update terminology in UPDATEFILE 159s -S STOPFILE, --stopword-list=STOPFILE 159s read stopword (term exclusion) list from STOPFILE 159s (default /usr/share/pyshared/translate/share/stoplist- 159s en) 159s -F, --fold-titlecase fold "Title Case" to lowercase (default) 159s -C, --preserve-case preserve all uppercase/lowercase 159s -I, --ignore-case make all terms lowercase 159s --accelerator=ACCELERATORS 159s ignore the given accelerator characters when matching 159s -t LENGTH, --term-words=LENGTH 159s generate terms of up to LENGTH words (default 3) 159s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 159s 1) 159s --inputs-needed=MIN omit terms appearing in less than MIN input files 159s (default 2, or 1 if only one input file) 159s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 159s different messages (default 1) 159s --substr-needed=MIN omit substring-only terms appearing in less than MIN 159s different messages (default 2) 159s --locs-needed=MIN omit terms appearing in less than MIN different 159s original source files (default 2) 159s --sort=ORDER output sort order(s): frequency, dictionary, length 159s (may repeat option, default is all in above order) 159s --source-language=LANG 159s the source language code (default 'en') 159s -v, --invert invert the source and target languages for terminology 159s ========= SMOKE TEST: /usr/bin/pretranslate =========== 159s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 159s 159s Fill localization files with suggested translations based on translation 159s memory and existing translations. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/pretranslate.html for examples and usage 159s instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in po, pot, pot, xlf, xliff formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot, xlf, xliff formats 159s -t TEMPLATE, --template=TEMPLATE 159s read from TEMPLATE in po, pot, xlf, xliff formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s --tm=TM The file to use as translation memory when fuzzy 159s matching 159s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 159s The minimum similarity for inclusion (default: 75%) 159s --nofuzzymatching Disable fuzzy matching 159s ========= SMOKE TEST: /usr/bin/prop2po =========== 159s 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] 159s 159s Convert Java/Mozilla .properties files to Gettext PO localization files. 159s See: http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in lang, properties, strings formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -t TEMPLATE, --template=TEMPLATE 159s read from TEMPLATE in lang, properties, strings 159s formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -P, --pot output PO Templates (.pot) rather than PO files (.po) 159s --personality=TYPE override the input file format: java, java-utf8, java- 159s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 159s strings, strings-utf8, joomla (for .properties files, 159s default: java) 159s --encoding=ENCODING override the encoding set by the personality 159s --duplicates=DUPLICATESTYLE 159s what to do with duplicate strings (identical source 159s text): merge, msgctxt (default: 'msgctxt') 159s ========= SMOKE TEST: /usr/bin/pydiff =========== 159s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 159s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 159s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 159s fromfile tofile 159s 159s positional arguments: 159s fromfile 159s tofile 159s 159s options: 159s -h, --help show this help message and exit 159s -i, --ignore-case Ignore case differences in file contents. 159s -U NUM, --unified NUM 159s Output NUM (default 3) lines of unified context 159s -r, --recursive Recursively compare any subdirectories found. 159s -N, --new-file Treat absent files as empty. 159s --unidirectional-new-file 159s Treat absent first files as empty. 159s -s, --report-identical-files 159s Report when two files are the same. 159s -x PAT, --exclude PAT 159s Exclude files that match PAT. 159s --fromcontains TEXT Only show changes where fromfile contains TEXT 159s --tocontains TEXT Only show changes where tofile contains TEXT 159s --contains TEXT Only show changes where fromfile or tofile contains 159s TEXT 159s -I, --ignore-case-contains 159s Ignore case differences when matching any of the 159s changes 159s --accelerator ACCELERATORS 159s ignores the given accelerator characters when matching 159s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 159s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 159s 159s Convert Python format .po files to PHP format .po files. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in po, pot formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s ========= SMOKE TEST: /usr/bin/rc2po =========== 159s 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] 159s 159s Convert Windows RC files to Gettext PO localization files. See: 159s http://docs.translatehouse.org/projects/translate- 159s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 159s 159s Options: 159s --version show program's version number and exit 159s -h, --help show this help message and exit 159s --manpage output a manpage based on the help 159s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 159s --errorlevel=ERRORLEVEL 159s show errorlevel as: none, message, exception, 159s traceback 159s -i INPUT, --input=INPUT 159s read from INPUT in nls, rc formats 159s -x EXCLUDE, --exclude=EXCLUDE 159s exclude names matching EXCLUDE from input paths 159s -o OUTPUT, --output=OUTPUT 159s write to OUTPUT in po, pot formats 159s -t TEMPLATE, --template=TEMPLATE 159s read from TEMPLATE in nls, rc formats 159s -S, --timestamp skip conversion if the output file has newer timestamp 159s -P, --pot output PO Templates (.pot) rather than PO files (.po) 159s --charset=CHARSET charset to use to decode the RC files (autodetection 159s is used by default) 159s -l LANG, --lang=LANG LANG entry (default: None) 159s --sublang=SUBLANG SUBLANG entry (default: None) 159s --duplicates=DUPLICATESTYLE 159s what to do with duplicate strings (identical source 159s text): merge, msgctxt (default: 'msgctxt') 159s ========= SMOKE TEST: /usr/bin/resx2po =========== 160s 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] 160s 160s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in resx format 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in resx format 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s -P, --pot output PO Templates (.pot) rather than PO files (.po) 160s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 160s everything) 160s --duplicates=DUPLICATESTYLE 160s what to do with duplicate strings (identical source 160s text): merge, msgctxt (default: 'msgctxt') 160s ========= SMOKE TEST: /usr/bin/sub2po =========== 160s 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] 160s 160s Convert subtitle files to Gettext PO localization files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in ass, srt, ssa, sub formats 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in ass, srt, ssa, sub formats 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s -P, --pot output PO Templates (.pot) rather than PO files (.po) 160s --duplicates=DUPLICATESTYLE 160s what to do with duplicate strings (identical source 160s text): merge, msgctxt (default: 'msgctxt') 160s ========= SMOKE TEST: /usr/bin/symb2po =========== 160s 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] 160s 160s Convert Symbian localisation files to Gettext PO localization files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in r01 format 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -t TEMPLATE, --template=TEMPLATE 160s read from TEMPLATE in 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s -P, --pot output PO Templates (.pot) rather than PO files (.po) 160s --duplicates=DUPLICATESTYLE 160s what to do with duplicate strings (identical source 160s text): merge, msgctxt (default: 'msgctxt') 160s ========= SMOKE TEST: /usr/bin/tbx2po =========== 160s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 160s 160s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in tbx format 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s ========= SMOKE TEST: /usr/bin/tiki2po =========== 160s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 160s 160s Convert TikiWiki's language.php files to Gettext PO localization files. See: 160s http://docs.translatehouse.org/projects/translate- 160s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 160s 160s Options: 160s --version show program's version number and exit 160s -h, --help show this help message and exit 160s --manpage output a manpage based on the help 160s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 160s --errorlevel=ERRORLEVEL 160s show errorlevel as: none, message, exception, 160s traceback 160s -i INPUT, --input=INPUT 160s read from INPUT in php format 160s -x EXCLUDE, --exclude=EXCLUDE 160s exclude names matching EXCLUDE from input paths 160s -o OUTPUT, --output=OUTPUT 160s write to OUTPUT in po, pot formats 160s -S, --timestamp skip conversion if the output file has newer timestamp 160s --include-unused Include strings in the unused section 160s ========= SMOKE TEST: /usr/bin/tmserver =========== 160s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 160s [-s SOURCE_LANG] [-b BIND] [-p PORT] 160s [--max-candidates MAX_CANDIDATES] 160s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 160s [--debug] 160s 160s options: 160s -h, --help show this help message and exit 160s -d TMDBFILE, --tmdb TMDBFILE 160s translation memory database file 160s -f TMFILES, --import-translation-file TMFILES 160s translation file to import into the database 160s -t TARGET_LANG, --import-target-lang TARGET_LANG 160s target language of translation files 160s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 160s source language of translation files 160s -b BIND, --bind BIND address to bind server to (default: localhost) 160s -p PORT, --port PORT port to listen on (default: 8888) 160s --max-candidates MAX_CANDIDATES 160s Maximum number of candidates 160s --min-similarity MIN_SIMILARITY 160s minimum similarity 160s --max-length MAX_LENGTH 160s Maxmimum string length 160s --debug enable debugging features 160s ========= SMOKE TEST: /usr/bin/ts2po =========== 161s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 161s 161s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in ts format 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -P, --pot output PO Templates (.pot) rather than PO files (.po) 161s --duplicates=DUPLICATESTYLE 161s what to do with duplicate strings (identical source 161s text): merge, msgctxt (default: 'msgctxt') 161s ========= SMOKE TEST: /usr/bin/txt2po =========== 161s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 161s 161s Convert plain text (.txt) files to Gettext PO localization files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in *, txt formats 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -P, --pot output PO Templates (.pot) rather than PO files (.po) 161s --encoding=ENCODING The encoding of the input file (default: UTF-8) 161s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 161s mediawiki 161s --no-segmentation Don't segment the file, treat it like a single message 161s --duplicates=DUPLICATESTYLE 161s what to do with duplicate strings (identical source 161s text): merge, msgctxt (default: 'msgctxt') 161s ========= SMOKE TEST: /usr/bin/web2py2po =========== 161s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 161s 161s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in py format 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -P, --pot output PO Templates (.pot) rather than PO files (.po) 161s --duplicates=DUPLICATESTYLE 161s what to do with duplicate strings (identical source 161s text): merge, msgctxt (default: 'msgctxt') 161s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 161s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 161s 161s Convert XLIFF translation files to OpenDocument (ODF) files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in xlf format 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 161s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 161s -t TEMPLATE, --template=TEMPLATE 161s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 161s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 161s formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 161s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 161s 161s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 161s file. See: http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in po, pot, xlf, xliff formats 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in oo, sdf formats 161s -t TEMPLATE, --template=TEMPLATE 161s read from TEMPLATE in oo, sdf formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -l LANG, --language=LANG 161s set target language code (e.g. af-ZA) [required] 161s --source-language=LANG 161s set source language code (default en-US) 161s -T, --keeptimestamp don't change the timestamps of the strings 161s --nonrecursiveoutput don't treat the output oo as a recursive store 161s --nonrecursivetemplate 161s don't treat the template oo as a recursive store 161s --skipsource don't output the source language, but fallback to it 161s where needed 161s --filteraction=ACTION 161s action on pofilter failure: none (default), warn, 161s exclude-serious, exclude-all 161s --fuzzy use translations marked fuzzy 161s --nofuzzy don't use translations marked fuzzy (default) 161s --multifile=MULTIFILESTYLE 161s how to split po/pot files (single, toplevel or 161s onefile) 161s ========= SMOKE TEST: /usr/bin/xliff2po =========== 161s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 161s 161s Convert XLIFF localization files to Gettext PO localization files. See: 161s http://docs.translatehouse.org/projects/translate- 161s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 161s 161s Options: 161s --version show program's version number and exit 161s -h, --help show this help message and exit 161s --manpage output a manpage based on the help 161s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 161s --errorlevel=ERRORLEVEL 161s show errorlevel as: none, message, exception, 161s traceback 161s -i INPUT, --input=INPUT 161s read from INPUT in xlf, xliff formats 161s -x EXCLUDE, --exclude=EXCLUDE 161s exclude names matching EXCLUDE from input paths 161s -o OUTPUT, --output=OUTPUT 161s write to OUTPUT in po, pot formats 161s -S, --timestamp skip conversion if the output file has newer timestamp 161s -P, --pot output PO Templates (.pot) rather than PO files (.po) 161s --duplicates=DUPLICATESTYLE 161s what to do with duplicate strings (identical source 161s text): merge, msgctxt (default: 'msgctxt') 161s ========= SMOKE TEST: /usr/bin/yaml2po =========== 162s 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] 162s 162s Convert YAML files to Gettext PO localization files. See: 162s http://docs.translatehouse.org/projects/translate- 162s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 162s 162s Options: 162s --version show program's version number and exit 162s -h, --help show this help message and exit 162s --manpage output a manpage based on the help 162s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 162s --errorlevel=ERRORLEVEL 162s show errorlevel as: none, message, exception, 162s traceback 162s -i INPUT, --input=INPUT 162s read from INPUT in yaml, yml formats 162s -x EXCLUDE, --exclude=EXCLUDE 162s exclude names matching EXCLUDE from input paths 162s -o OUTPUT, --output=OUTPUT 162s write to OUTPUT in po, pot formats 162s -t TEMPLATE, --template=TEMPLATE 162s read from TEMPLATE in yaml, yml formats 162s -S, --timestamp skip conversion if the output file has newer timestamp 162s -P, --pot output PO Templates (.pot) rather than PO files (.po) 162s --duplicates=DUPLICATESTYLE 162s what to do with duplicate strings (identical source 162s text): merge, msgctxt (default: 'msgctxt') 162s autopkgtest [06:10:49]: test translate-toolkit: -----------------------] 163s autopkgtest [06:10:50]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 163s translate-toolkit PASS 163s autopkgtest [06:10:50]: test python3-translate: preparing testbed 284s autopkgtest [06:12:51]: testbed dpkg architecture: s390x 284s autopkgtest [06:12:51]: testbed apt version: 2.9.6 284s autopkgtest [06:12:51]: @@@@@@@@@@@@@@@@@@@@ test bed setup 285s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 285s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 286s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [62.2 kB] 286s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [407 kB] 286s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [4724 B] 286s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x Packages [101 kB] 286s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x c-n-f Metadata [2112 B] 286s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x Packages [1368 B] 286s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted s390x c-n-f Metadata [120 B] 286s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x Packages [464 kB] 286s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/universe s390x c-n-f Metadata [8372 B] 286s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x Packages [2744 B] 286s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse s390x c-n-f Metadata [120 B] 286s Fetched 1188 kB in 1s (1088 kB/s) 286s Reading package lists... 289s Reading package lists... 289s Building dependency tree... 289s Reading state information... 289s Calculating upgrade... 289s The following packages will be upgraded: 289s libbpf1 libpython3-stdlib python3 python3-gdbm python3-minimal 289s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 289s Need to get 259 kB of archives. 289s After this operation, 26.6 kB of additional disk space will be used. 289s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-minimal s390x 3.12.4-1 [27.1 kB] 290s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3 s390x 3.12.4-1 [24.0 kB] 290s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x libpython3-stdlib s390x 3.12.4-1 [9826 B] 290s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libbpf1 s390x 1:1.4.5-1 [180 kB] 290s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-gdbm s390x 3.12.4-2 [18.5 kB] 290s Fetched 259 kB in 0s (549 kB/s) 290s (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 ... 54753 files and directories currently installed.) 290s Preparing to unpack .../python3-minimal_3.12.4-1_s390x.deb ... 290s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 290s Setting up python3-minimal (3.12.4-1) ... 290s (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 ... 54753 files and directories currently installed.) 290s Preparing to unpack .../python3_3.12.4-1_s390x.deb ... 291s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 291s Preparing to unpack .../libpython3-stdlib_3.12.4-1_s390x.deb ... 291s Unpacking libpython3-stdlib:s390x (3.12.4-1) over (3.12.3-0ubuntu1) ... 291s Preparing to unpack .../libbpf1_1%3a1.4.5-1_s390x.deb ... 291s Unpacking libbpf1:s390x (1:1.4.5-1) over (1:1.4.3-1) ... 291s Preparing to unpack .../python3-gdbm_3.12.4-2_s390x.deb ... 291s Unpacking python3-gdbm:s390x (3.12.4-2) over (3.12.3-0ubuntu1) ... 291s Setting up libbpf1:s390x (1:1.4.5-1) ... 291s Setting up libpython3-stdlib:s390x (3.12.4-1) ... 291s Setting up python3 (3.12.4-1) ... 291s Setting up python3-gdbm:s390x (3.12.4-2) ... 291s Processing triggers for man-db (2.12.1-2) ... 291s Processing triggers for libc-bin (2.39-0ubuntu9) ... 292s Reading package lists... 292s Building dependency tree... 292s Reading state information... 292s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 292s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 292s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 293s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 293s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 294s Reading package lists... 294s Reading package lists... 294s Building dependency tree... 294s Reading state information... 294s Calculating upgrade... 295s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 295s Reading package lists... 295s Building dependency tree... 295s Reading state information... 295s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 299s Reading package lists... 299s Building dependency tree... 299s Reading state information... 300s Starting pkgProblemResolver with broken count: 0 300s Starting 2 pkgProblemResolver with broken count: 0 300s Done 300s The following additional packages will be installed: 300s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 300s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 300s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 300s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 300s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 300s python3-iniconfig python3-iniparse python3-jaraco.functools 300s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 300s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 300s python3-pytest python3-rapidfuzz python3-ruamel.yaml 300s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 300s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 300s Suggested packages: 300s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 300s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 300s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 300s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 300s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 300s subversion-tools 300s Recommended packages: 300s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 300s python3-cssselect python3-html5lib python3-tz 300s The following NEW packages will be installed: 300s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 300s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 300s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 300s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 300s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 300s python3-iniconfig python3-iniparse python3-jaraco.functools 300s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 300s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 300s python3-pytest python3-rapidfuzz python3-ruamel.yaml 300s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 300s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 300s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 300s Need to get 11.3 MB/11.3 MB of archives. 300s After this operation, 49.0 MB of additional disk space will be used. 300s Get:1 /tmp/autopkgtest.x4FEHg/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [892 B] 300s Get:2 http://ftpmaster.internal/ubuntu oracular/main s390x emacsen-common all 3.0.5 [12.1 kB] 300s Get:3 http://ftpmaster.internal/ubuntu oracular/main s390x dictionaries-common all 1.29.7 [188 kB] 300s Get:4 http://ftpmaster.internal/ubuntu oracular/main s390x libgomp1 s390x 14.1.0-4ubuntu2 [150 kB] 300s Get:5 http://ftpmaster.internal/ubuntu oracular/main s390x gettext s390x 0.22.5-1 [989 kB] 301s Get:6 http://ftpmaster.internal/ubuntu oracular/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 301s Get:7 http://ftpmaster.internal/ubuntu oracular/main s390x libapr1t64 s390x 1.7.2-3.2 [113 kB] 301s Get:8 http://ftpmaster.internal/ubuntu oracular/main s390x libaprutil1t64 s390x 1.6.3-2ubuntu1 [97.9 kB] 301s Get:9 http://ftpmaster.internal/ubuntu oracular/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 301s Get:10 http://ftpmaster.internal/ubuntu oracular/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 301s Get:11 http://ftpmaster.internal/ubuntu oracular/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 301s Get:12 http://ftpmaster.internal/ubuntu oracular/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 301s Get:13 http://ftpmaster.internal/ubuntu oracular/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 301s Get:14 http://ftpmaster.internal/ubuntu oracular/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 301s Get:15 http://ftpmaster.internal/ubuntu oracular/universe s390x libsvn1 s390x 1.14.3-2 [1363 kB] 302s Get:16 http://ftpmaster.internal/ubuntu oracular/universe s390x libxapian30 s390x 1.4.22-1build1 [733 kB] 302s Get:17 http://ftpmaster.internal/ubuntu oracular/main s390x libxslt1.1 s390x 1.1.39-0exp1build1 [170 kB] 302s Get:18 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-aeidon all 1.15-1 [231 kB] 302s Get:19 http://ftpmaster.internal/ubuntu oracular-proposed/main s390x python3-all s390x 3.12.4-1 [884 B] 302s Get:20 http://ftpmaster.internal/ubuntu oracular/main s390x python3-soupsieve all 2.5-1 [33.0 kB] 302s Get:21 http://ftpmaster.internal/ubuntu oracular/main s390x python3-bs4 all 4.12.3-1 [109 kB] 302s Get:22 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-charset-normalizer all 3.3.2-1 [47.9 kB] 302s Get:23 http://ftpmaster.internal/ubuntu oracular/main s390x python3-more-itertools all 10.3.0-1 [54.9 kB] 302s Get:24 http://ftpmaster.internal/ubuntu oracular/main s390x python3-jaraco.functools all 4.0.0-1 [10.7 kB] 302s Get:25 http://ftpmaster.internal/ubuntu oracular/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 302s Get:26 http://ftpmaster.internal/ubuntu oracular/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 302s Get:27 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 302s Get:28 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 302s Get:29 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 302s Get:30 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-rapidfuzz s390x 3.9.4+ds-1 [1481 kB] 302s Get:31 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 302s Get:32 http://ftpmaster.internal/ubuntu oracular/main s390x python3-lxml s390x 5.2.2-1 [1297 kB] 302s Get:33 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 302s Get:34 http://ftpmaster.internal/ubuntu oracular/main s390x python3-packaging all 24.1-1 [41.4 kB] 302s Get:35 http://ftpmaster.internal/ubuntu oracular/main s390x python3-ply all 3.11-6 [46.5 kB] 302s Get:36 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 302s Get:37 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 302s Get:38 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pytest all 7.4.4-1 [305 kB] 302s Get:39 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml.clib s390x 0.2.8-1build1 [142 kB] 302s Get:40 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 302s Get:41 http://ftpmaster.internal/ubuntu oracular/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 302s Get:42 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 302s Get:43 http://ftpmaster.internal/ubuntu oracular/main s390x python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 302s Get:44 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-translate all 3.13.2-1 [319 kB] 302s Get:45 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 302s Get:46 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-xapian s390x 1.4.22-1build5 [366 kB] 303s Get:47 http://ftpmaster.internal/ubuntu oracular/universe s390x subversion s390x 1.14.3-2 [909 kB] 303s Get:48 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 303s Get:49 http://ftpmaster.internal/ubuntu oracular/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 303s Preconfiguring packages ... 303s Fetched 11.3 MB in 3s (4218 kB/s) 303s Selecting previously unselected package emacsen-common. 303s (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 ... 54756 files and directories currently installed.) 303s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 303s Unpacking emacsen-common (3.0.5) ... 303s Selecting previously unselected package dictionaries-common. 303s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 303s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 303s Unpacking dictionaries-common (1.29.7) ... 303s Selecting previously unselected package libgomp1:s390x. 303s Preparing to unpack .../02-libgomp1_14.1.0-4ubuntu2_s390x.deb ... 303s Unpacking libgomp1:s390x (14.1.0-4ubuntu2) ... 303s Selecting previously unselected package gettext. 303s Preparing to unpack .../03-gettext_0.22.5-1_s390x.deb ... 303s Unpacking gettext (0.22.5-1) ... 303s Selecting previously unselected package hunspell-en-us. 303s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 303s Unpacking hunspell-en-us (1:2020.12.07-2) ... 303s Selecting previously unselected package libapr1t64:s390x. 303s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_s390x.deb ... 303s Unpacking libapr1t64:s390x (1.7.2-3.2) ... 303s Selecting previously unselected package libaprutil1t64:s390x. 303s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_s390x.deb ... 303s Unpacking libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 303s Selecting previously unselected package libaspell15:s390x. 303s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 303s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 303s Selecting previously unselected package libhunspell-1.7-0:s390x. 303s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 303s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 303s Selecting previously unselected package libenchant-2-2:s390x. 303s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 303s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 303s Selecting previously unselected package libexttextcat-data. 303s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 303s Unpacking libexttextcat-data (3.4.7-1build1) ... 303s Selecting previously unselected package libserf-1-1:s390x. 303s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 303s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 303s Selecting previously unselected package libutf8proc3:s390x. 303s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 303s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 303s Selecting previously unselected package libsvn1:s390x. 303s Preparing to unpack .../13-libsvn1_1.14.3-2_s390x.deb ... 303s Unpacking libsvn1:s390x (1.14.3-2) ... 303s Selecting previously unselected package libxapian30:s390x. 303s Preparing to unpack .../14-libxapian30_1.4.22-1build1_s390x.deb ... 303s Unpacking libxapian30:s390x (1.4.22-1build1) ... 303s Selecting previously unselected package libxslt1.1:s390x. 303s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_s390x.deb ... 303s Unpacking libxslt1.1:s390x (1.1.39-0exp1build1) ... 303s Selecting previously unselected package python3-aeidon. 303s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 303s Unpacking python3-aeidon (1.15-1) ... 303s Selecting previously unselected package python3-all. 303s Preparing to unpack .../17-python3-all_3.12.4-1_s390x.deb ... 303s Unpacking python3-all (3.12.4-1) ... 303s Selecting previously unselected package python3-soupsieve. 303s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 303s Unpacking python3-soupsieve (2.5-1) ... 304s Selecting previously unselected package python3-bs4. 304s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 304s Unpacking python3-bs4 (4.12.3-1) ... 304s Selecting previously unselected package python3-charset-normalizer. 304s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 304s Unpacking python3-charset-normalizer (3.3.2-1) ... 304s Selecting previously unselected package python3-more-itertools. 304s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 304s Unpacking python3-more-itertools (10.3.0-1) ... 304s Selecting previously unselected package python3-jaraco.functools. 304s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 304s Unpacking python3-jaraco.functools (4.0.0-1) ... 304s Selecting previously unselected package python3-cheroot. 304s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 304s Unpacking python3-cheroot (10.0.0+ds1-2) ... 304s Selecting previously unselected package python3-dateutil. 304s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 304s Unpacking python3-dateutil (2.9.0-2) ... 304s Selecting previously unselected package python3-diff-match-patch. 304s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 304s Unpacking python3-diff-match-patch (20230430-1) ... 304s Selecting previously unselected package python3-enchant. 304s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 304s Unpacking python3-enchant (3.2.2-1) ... 304s Selecting previously unselected package python3-iniconfig. 304s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 304s Unpacking python3-iniconfig (1.1.1-2) ... 304s Selecting previously unselected package python3-rapidfuzz. 304s Preparing to unpack .../28-python3-rapidfuzz_3.9.4+ds-1_s390x.deb ... 304s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 304s Selecting previously unselected package python3-levenshtein. 304s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_s390x.deb ... 304s Unpacking python3-levenshtein (0.25.1-3) ... 304s Selecting previously unselected package python3-lxml:s390x. 304s Preparing to unpack .../30-python3-lxml_5.2.2-1_s390x.deb ... 304s Unpacking python3-lxml:s390x (5.2.2-1) ... 304s Selecting previously unselected package python3-mistletoe. 304s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 304s Unpacking python3-mistletoe (1.3.0-1) ... 304s Selecting previously unselected package python3-packaging. 304s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 304s Unpacking python3-packaging (24.1-1) ... 304s Selecting previously unselected package python3-ply. 304s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 304s Unpacking python3-ply (3.11-6) ... 304s Selecting previously unselected package python3-phply. 304s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 304s Unpacking python3-phply (1.2.6-1) ... 304s Selecting previously unselected package python3-pluggy. 304s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 304s Unpacking python3-pluggy (1.5.0-1) ... 304s Selecting previously unselected package python3-pytest. 304s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 304s Unpacking python3-pytest (7.4.4-1) ... 304s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 304s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_s390x.deb ... 304s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 304s Selecting previously unselected package python3-ruamel.yaml. 304s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 304s Unpacking python3-ruamel.yaml (0.17.21-1) ... 304s Selecting previously unselected package python3-simplejson. 304s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_s390x.deb ... 304s Unpacking python3-simplejson (3.19.2-1build2) ... 304s Selecting previously unselected package python3-syrupy. 304s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 304s Unpacking python3-syrupy (4.6.1-1) ... 304s Selecting previously unselected package python3-wcwidth. 304s Preparing to unpack .../41-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 304s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 304s Selecting previously unselected package python3-translate. 304s Preparing to unpack .../42-python3-translate_3.13.2-1_all.deb ... 304s Unpacking python3-translate (3.13.2-1) ... 304s Selecting previously unselected package python3-vobject. 304s Preparing to unpack .../43-python3-vobject_0.9.6.1-2_all.deb ... 304s Unpacking python3-vobject (0.9.6.1-2) ... 304s Selecting previously unselected package python3-xapian. 304s Preparing to unpack .../44-python3-xapian_1.4.22-1build5_s390x.deb ... 304s Unpacking python3-xapian (1.4.22-1build5) ... 304s Selecting previously unselected package subversion. 304s Preparing to unpack .../45-subversion_1.14.3-2_s390x.deb ... 304s Unpacking subversion (1.14.3-2) ... 304s Selecting previously unselected package python3-iniparse. 304s Preparing to unpack .../46-python3-iniparse_0.5-2_all.deb ... 304s Unpacking python3-iniparse (0.5-2) ... 304s Selecting previously unselected package python3-pycountry. 304s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 304s Unpacking python3-pycountry (24.6.1+ds1-1) ... 305s Selecting previously unselected package autopkgtest-satdep. 305s Preparing to unpack .../48-2-autopkgtest-satdep.deb ... 305s Unpacking autopkgtest-satdep (0) ... 305s Setting up python3-more-itertools (10.3.0-1) ... 305s Setting up python3-iniconfig (1.1.1-2) ... 305s Setting up libxapian30:s390x (1.4.22-1build1) ... 305s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 305s Setting up python3-diff-match-patch (20230430-1) ... 305s Setting up python3-jaraco.functools (4.0.0-1) ... 306s Setting up python3-aeidon (1.15-1) ... 306s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 306s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 306s Setting up python3-charset-normalizer (3.3.2-1) ... 306s Setting up python3-ply (3.11-6) ... 306s Setting up python3-ruamel.yaml.clib:s390x (0.2.8-1build1) ... 306s Setting up python3-all (3.12.4-1) ... 306s Setting up libgomp1:s390x (14.1.0-4ubuntu2) ... 306s Setting up python3-simplejson (3.19.2-1build2) ... 307s Setting up python3-packaging (24.1-1) ... 307s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 307s Setting up emacsen-common (3.0.5) ... 307s Setting up python3-cheroot (10.0.0+ds1-2) ... 307s Setting up python3-pycountry (24.6.1+ds1-1) ... 308s Setting up python3-xapian (1.4.22-1build5) ... 308s Setting up python3-pluggy (1.5.0-1) ... 308s Setting up python3-ruamel.yaml (0.17.21-1) ... 308s Setting up python3-mistletoe (1.3.0-1) ... 308s Setting up libexttextcat-data (3.4.7-1build1) ... 308s Setting up libapr1t64:s390x (1.7.2-3.2) ... 308s Setting up libxslt1.1:s390x (1.1.39-0exp1build1) ... 308s Setting up python3-dateutil (2.9.0-2) ... 309s Setting up python3-levenshtein (0.25.1-3) ... 309s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 309s Setting up python3-soupsieve (2.5-1) ... 309s Setting up python3-iniparse (0.5-2) ... 309s Setting up libaprutil1t64:s390x (1.6.3-2ubuntu1) ... 309s Setting up python3-vobject (0.9.6.1-2) ... 309s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 309s patterns['name'] = '[a-zA-Z0-9\-_]+' 309s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 309s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 309s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 309s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 309s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 309s """ 309s Setting up gettext (0.22.5-1) ... 309s Setting up python3-phply (1.2.6-1) ... 310s Setting up dictionaries-common (1.29.7) ... 310s Setting up python3-pytest (7.4.4-1) ... 311s Setting up python3-syrupy (4.6.1-1) ... 311s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 311s Setting up python3-bs4 (4.12.3-1) ... 311s Setting up python3-lxml:s390x (5.2.2-1) ... 311s Setting up hunspell-en-us (1:2020.12.07-2) ... 311s Setting up libsvn1:s390x (1.14.3-2) ... 311s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 311s Setting up subversion (1.14.3-2) ... 311s Setting up python3-enchant (3.2.2-1) ... 312s Setting up python3-translate (3.13.2-1) ... 312s Setting up autopkgtest-satdep (0) ... 312s Processing triggers for man-db (2.12.1-2) ... 313s Processing triggers for install-info (7.1-3build2) ... 313s Processing triggers for libc-bin (2.39-0ubuntu9) ... 313s Processing triggers for dictionaries-common (1.29.7) ... 317s (Reading database ... 58257 files and directories currently installed.) 317s Removing autopkgtest-satdep (0) ... 323s autopkgtest [06:13:30]: test python3-translate: [----------------------- 323s ============================= test session starts ============================== 323s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 323s cachedir: .pytest_cache 323s rootdir: /tmp/autopkgtest.x4FEHg/autopkgtest_tmp 323s plugins: syrupy-4.6.1 329s collecting ... collected 3340 items / 2 skipped 329s 329s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 329s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 329s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 329s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 330s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 330s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 330s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 330s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 330s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 330s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 330s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 330s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 330s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 330s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 330s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 330s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 330s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 330s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 330s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 330s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 330s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 330s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 330s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 330s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 330s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 330s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 330s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 330s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 330s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 330s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 330s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 330s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 330s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 330s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 330s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 331s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 331s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 331s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 331s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 331s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 331s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 331s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 331s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 331s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 331s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 331s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 331s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 331s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 331s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 331s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 331s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 331s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 331s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 331s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 331s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 331s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 332s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 332s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 332s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 332s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 332s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 332s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 332s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 332s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 332s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 332s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 332s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 332s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 332s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 332s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 332s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 332s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 332s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 332s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 332s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 332s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 332s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 332s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 332s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 332s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 332s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 332s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 332s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 332s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 333s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 333s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 333s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 333s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 333s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 333s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 333s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 333s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 333s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 333s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 333s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 333s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 333s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 333s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 333s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 333s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 333s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 333s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 333s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 333s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 333s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 333s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 333s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 333s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 333s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 333s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 333s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 333s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 333s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 333s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 333s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 333s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 333s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 333s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 333s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 333s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 333s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 333s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 334s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 334s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 334s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 334s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 334s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 334s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 334s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 334s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 334s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 334s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 334s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 334s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 334s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 334s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 334s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 334s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 334s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 334s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 334s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 334s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 334s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 334s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 334s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 334s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 334s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 334s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 334s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 334s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 334s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 334s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 334s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 334s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 334s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 334s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 334s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 334s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 334s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 334s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 334s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 334s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 334s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 334s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 334s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 334s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 334s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 334s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 334s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 334s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 334s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 334s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 334s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 334s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 334s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 334s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 334s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 334s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 334s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 334s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 334s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 334s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 335s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 335s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 335s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 335s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 335s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 335s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 335s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 335s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 335s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 335s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 335s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 335s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 335s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 335s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 335s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 335s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 335s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 335s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 335s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 335s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 335s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 335s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 335s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 335s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 335s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 335s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 335s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 335s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 335s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 335s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 335s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 335s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 335s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 335s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 335s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 335s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 335s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 336s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 336s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 336s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 336s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 336s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 336s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 336s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 336s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 337s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 337s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 337s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 337s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 337s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 337s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 337s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 337s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 337s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 337s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 337s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 337s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 337s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 337s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 337s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 337s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 337s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 338s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 338s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 338s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 338s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 338s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 338s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 338s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 338s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 338s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 338s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 338s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 338s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 338s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 338s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 338s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 338s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 338s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 338s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 338s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 338s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 338s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 339s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 339s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 339s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 339s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 339s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 339s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 339s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 339s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 339s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 339s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 339s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 339s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 339s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 339s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 340s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 340s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 340s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 340s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 340s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 340s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 340s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 340s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 340s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 340s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 340s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 340s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 340s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 340s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 340s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 340s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 340s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 340s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 340s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 340s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 340s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 340s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 340s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 340s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 340s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 340s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 340s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 340s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 340s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 340s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 340s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 340s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 340s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 340s 340s =============================== warnings summary =============================== 340s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 340s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.x4FEHg/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 340s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 340s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 340s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 340s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 340s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 340s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 340s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 340s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 340s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 340s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 340s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 340s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 340s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 340s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 340s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 340s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 340s Warning: Could not find accesskey for key.accesskey 340s 340s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 340s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 340s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 340s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 340s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 340s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.x4FEHg/autopkgtest_tmp/tests/translate/convert/test.idml'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 340s Warning: unclosed file <_io.BufferedReader name='translation.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 340s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 340s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 340s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 340s Warning: Could not find accesskey for prop.accesskey 340s 340s tests/translate/convert/test_po2tmx.py: 26 warnings 340s tests/translate/filters/test_pofilter.py: 13 warnings 340s tests/translate/storage/test_tbx.py: 17 warnings 340s tests/translate/storage/test_tmx.py: 24 warnings 340s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 340s 340s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 340s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 340s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 340s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 340s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 340s Enable tracemalloc to get traceback where the object was allocated. 340s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 340s 341s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 341s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 341s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 341s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 341s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 341s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 341s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 341s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 341s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 341s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.x4FEHg/autopkgtest_tmp/tests/translate/convert/test.odt'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 341s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 341s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 341s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 341s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 341s Enable tracemalloc to get traceback where the object was allocated. 341s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 341s 341s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 341s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 341s 341s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 341s Warning: DTD file '' does not validate 341s 341s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 341s --------------------------- snapshot report summary ---------------------------- 341s 23 snapshots passed. 341s =========================== short test summary info ============================ 341s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 341s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 341s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 341s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 341s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 341s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 341s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 341s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 341s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 341s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 341s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 341s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 341s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 341s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 341s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 341s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 341s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 341s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 341s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 341s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 341s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 341s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 341s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 341s 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. 341s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 341s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 341s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 341s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 341s 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 341s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 341s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 341s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 341s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 341s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 341s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 341s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 341s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 341s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 341s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 341s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 341s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 341s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 341s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 341s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 341s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 341s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 341s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 341s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 341s ========= 3279 passed, 22 skipped, 41 xfailed, 126 warnings in 17.30s ========== 341s autopkgtest [06:13:48]: test python3-translate: -----------------------] 342s autopkgtest [06:13:49]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 342s python3-translate PASS 343s autopkgtest [06:13:50]: test python3-translate-commands: preparing testbed 345s Reading package lists... 345s Building dependency tree... 345s Reading state information... 345s Starting pkgProblemResolver with broken count: 0 345s Starting 2 pkgProblemResolver with broken count: 0 345s Done 345s The following additional packages will be installed: 345s translate-toolkit 345s Recommended packages: 345s translate-toolkit-doc 345s The following NEW packages will be installed: 345s autopkgtest-satdep translate-toolkit 345s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 345s Need to get 81.0 kB/81.9 kB of archives. 345s After this operation, 225 kB of additional disk space will be used. 345s Get:1 /tmp/autopkgtest.x4FEHg/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [904 B] 346s Get:2 http://ftpmaster.internal/ubuntu oracular/universe s390x translate-toolkit all 3.13.2-1 [81.0 kB] 346s Fetched 81.0 kB in 0s (290 kB/s) 346s Selecting previously unselected package translate-toolkit. 346s (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 ... 58257 files and directories currently installed.) 346s Preparing to unpack .../translate-toolkit_3.13.2-1_all.deb ... 346s Unpacking translate-toolkit (3.13.2-1) ... 346s Selecting previously unselected package autopkgtest-satdep. 346s Preparing to unpack .../3-autopkgtest-satdep.deb ... 346s Unpacking autopkgtest-satdep (0) ... 346s Setting up translate-toolkit (3.13.2-1) ... 346s Setting up autopkgtest-satdep (0) ... 346s Processing triggers for man-db (2.12.1-2) ... 349s (Reading database ... 58427 files and directories currently installed.) 349s Removing autopkgtest-satdep (0) ... 349s autopkgtest [06:13:56]: test python3-translate-commands: [----------------------- 350s ============================= test session starts ============================== 350s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 350s cachedir: .pytest_cache 350s rootdir: /tmp/autopkgtest.x4FEHg/autopkgtest_tmp 350s plugins: syrupy-4.6.1 356s collecting ... collected 3340 items / 2 skipped 356s 356s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 357s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 357s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 357s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 357s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 357s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 357s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 357s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 357s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 357s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 357s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 357s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 357s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 357s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 357s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 357s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 357s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 357s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 357s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 357s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 357s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 357s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 357s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 357s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 357s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 357s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 357s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 357s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 358s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 358s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 358s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 358s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 358s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 358s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 358s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 358s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 358s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 358s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 358s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 358s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 358s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 358s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 358s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 358s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 358s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 358s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 358s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 358s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 359s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 359s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 359s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 359s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 359s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 359s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 359s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 359s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 359s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 359s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 359s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 359s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 359s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 359s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 359s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 359s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 359s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 359s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 359s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 359s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 359s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 360s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 360s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 360s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 360s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 360s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 360s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 360s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 360s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 360s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 360s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 360s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 360s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 360s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 360s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 360s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 360s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 360s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 360s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 360s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 360s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 360s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 360s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 360s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 360s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 360s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 360s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 361s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 361s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 361s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 361s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 361s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 361s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 361s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 361s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 361s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 361s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 361s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 361s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 361s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 361s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 361s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 361s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 361s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 361s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 361s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 361s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 361s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 361s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 361s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 361s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 361s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 361s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 361s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 361s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 361s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 361s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 361s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 361s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 361s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 361s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 361s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 361s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 361s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 361s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 361s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 361s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 361s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 361s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 361s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 361s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 361s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 361s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 361s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 361s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 361s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 361s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 361s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 361s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 361s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 361s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 361s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 361s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 361s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 361s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 361s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 361s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 361s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 361s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 361s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 361s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 361s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 361s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 361s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 361s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 361s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 361s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 361s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 361s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 361s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 361s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 361s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 361s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 361s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 361s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 362s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 362s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 362s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 362s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 362s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 362s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 362s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 362s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 362s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 362s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 362s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 362s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 362s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 362s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 362s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 362s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 362s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 362s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 362s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 362s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 362s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 363s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 363s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 363s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 363s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 363s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 363s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 363s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 363s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 363s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 363s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 363s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 363s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 363s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 363s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 363s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 363s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 363s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 363s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 363s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 363s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 363s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 363s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 363s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 363s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 364s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 364s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 364s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 364s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 365s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 365s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 365s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 365s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 365s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 365s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 365s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 365s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 365s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 365s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 365s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 365s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 365s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 365s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 365s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 365s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 366s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 366s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 366s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 366s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 366s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 366s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 366s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 366s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 366s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 366s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 366s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 366s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 366s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 366s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 366s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 366s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 366s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 366s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 366s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 366s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 366s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 367s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 367s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 367s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 367s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 367s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 367s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 367s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 367s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 367s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 367s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 367s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 367s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 367s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 367s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 367s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 367s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 367s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 368s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 368s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 368s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 368s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 368s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 369s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 369s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 369s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 369s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 369s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 369s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 369s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 369s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 369s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 369s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 369s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 369s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 369s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 369s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 369s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 369s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 369s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 370s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 370s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 370s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 370s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 370s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 370s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 370s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 370s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 370s 370s =============================== warnings summary =============================== 370s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 370s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.x4FEHg/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 370s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 370s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 370s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 370s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 370s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 370s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 370s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 370s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 370s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 370s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 370s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 370s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 370s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 370s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 370s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 370s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 370s Warning: Could not find accesskey for key.accesskey 370s 370s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 370s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 370s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 370s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 370s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 370s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.x4FEHg/autopkgtest_tmp/tests/translate/convert/test.idml'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 370s Warning: unclosed file <_io.BufferedReader name='translation.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 370s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 370s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 370s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 370s Warning: Could not find accesskey for prop.accesskey 370s 370s tests/translate/convert/test_po2tmx.py: 26 warnings 370s tests/translate/filters/test_pofilter.py: 13 warnings 370s tests/translate/storage/test_tbx.py: 17 warnings 370s tests/translate/storage/test_tmx.py: 24 warnings 370s Warning: This search incorrectly ignores the root element, and will be fixed in a future version. If you rely on the current behaviour, change it to './/body' 370s 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 370s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 370s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 370s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 370s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 370s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 370s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 370s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 370s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 370s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 370s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 370s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.x4FEHg/autopkgtest_tmp/tests/translate/convert/test.odt'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 370s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 370s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 370s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 370s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 370s Enable tracemalloc to get traceback where the object was allocated. 370s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 370s 370s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 370s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 370s 370s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 370s Warning: DTD file '' does not validate 370s 370s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 370s --------------------------- snapshot report summary ---------------------------- 370s 23 snapshots passed. 370s =========================== short test summary info ============================ 370s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 370s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 370s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 370s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 370s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 370s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 370s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 370s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 370s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 370s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 370s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 370s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 370s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 370s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 370s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 370s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 370s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 370s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 370s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 370s 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. 370s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 370s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 370s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 370s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 370s 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 370s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 370s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 370s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 370s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 370s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 370s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 370s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 370s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 370s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 370s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 370s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 370s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 370s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 370s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 370s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 370s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 370s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 370s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 370s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 370s ========== 3298 passed, 3 skipped, 41 xfailed, 126 warnings in 20.56s ========== 372s autopkgtest [06:14:19]: test python3-translate-commands: -----------------------] 372s python3-translate-commands PASS 372s autopkgtest [06:14:19]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 373s autopkgtest [06:14:20]: @@@@@@@@@@@@@@@@@@@@ summary 373s translate-toolkit PASS 373s python3-translate PASS 373s python3-translate-commands PASS 387s nova [W] Using flock in scalingstack-bos01-s390x 387s Creating nova instance adt-oracular-s390x-translate-toolkit-20240721-060807-juju-7f2275-prod-proposed-migration-environment-2-10edf6c8-6ece-4167-b1e7-7dc3eec0262f from image adt/ubuntu-oracular-s390x-server-20240720.img (UUID c4813fc9-ab2b-41de-947e-4df7311c6440)... 387s nova [W] Using flock in scalingstack-bos01-s390x 387s Creating nova instance adt-oracular-s390x-translate-toolkit-20240721-060807-juju-7f2275-prod-proposed-migration-environment-2-10edf6c8-6ece-4167-b1e7-7dc3eec0262f from image adt/ubuntu-oracular-s390x-server-20240720.img (UUID c4813fc9-ab2b-41de-947e-4df7311c6440)...