Tue May 7 02:15:44 UTC 2024 I: starting to build translate-toolkit/unstable/amd64 on jenkins on '2024-05-07 02:15' Tue May 7 02:15:44 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_1/4989/console.log Tue May 7 02:15:44 UTC 2024 I: Downloading source for unstable/translate-toolkit=3.13.0-1 --2024-05-07 02:15:45-- http://deb.debian.org/debian/pool/main/t/translate-toolkit/translate-toolkit_3.13.0-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 3065 (3.0K) [text/prs.lines.tag] Saving to: ‘translate-toolkit_3.13.0-1.dsc’ 0K .. 100% 374M=0s 2024-05-07 02:15:45 (374 MB/s) - ‘translate-toolkit_3.13.0-1.dsc’ saved [3065/3065] Tue May 7 02:15:45 UTC 2024 I: translate-toolkit_3.13.0-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: translate-toolkit Binary: translate-toolkit, python3-translate, translate-toolkit-doc Architecture: all Version: 3.13.0-1 Maintainer: Debian l10n developers Uploaders: Stuart Prescott Homepage: https://toolkit.translatehouse.org/ Standards-Version: 4.7.0 Vcs-Browser: https://salsa.debian.org/l10n-team/translate-toolkit Vcs-Git: https://salsa.debian.org/l10n-team/translate-toolkit.git Testsuite: autopkgtest Testsuite-Triggers: python3-aeidon, python3-all, python3-bs4, python3-chardet, python3-cheroot, python3-diff-match-patch, python3-enchant, python3-iniparse, python3-levenshtein, python3-lxml, python3-mistletoe, python3-phply, python3-pycountry, python3-pyparsing, python3-pytest, python3-ruamel.yaml, python3-simplejson, python3-syrupy, python3-vobject, python3-xapian, subversion Build-Depends: debhelper-compat (= 13), dh-python (>> 5.20220923~), pybuild-plugin-pyproject, python3-setuptools Build-Depends-Indep: libexttextcat-data, python3-all, python3-aeidon, python3-bs4, python3-chardet, python3-cheroot, python3-diff-match-patch, python3-enchant, python3-iniparse, python3-levenshtein, python3-lxml, python3-mistletoe (>> 1.1.0~), python3-phply, python3-pyparsing (>> 3), python3-pytest, python3-ruamel.yaml, python3-simplejson, python3-syrupy, python3-sphinx, python3-vobject, python3-xapian, rename, subversion Package-List: python3-translate deb python optional arch=all translate-toolkit deb devel optional arch=all translate-toolkit-doc deb doc optional arch=all Checksums-Sha1: b8ad5d36f539a4cf866291327d9e7ef94879b864 1171837 translate-toolkit_3.13.0.orig.tar.gz 2ad6447b1a3866c0b03b1e933adec2c77ac5118f 24588 translate-toolkit_3.13.0-1.debian.tar.xz Checksums-Sha256: b8a9c84412d415d02c8ed53e1696b2b46924fdc6675762bc0136669acda99f8b 1171837 translate-toolkit_3.13.0.orig.tar.gz ac6b2694277d311985094492a0091c72dac33da22344a7ad592c49522ebfce09 24588 translate-toolkit_3.13.0-1.debian.tar.xz Files: c5c21076a5092d7dcd823a2186176321 1171837 translate-toolkit_3.13.0.orig.tar.gz 2b9227ba1c9546598dd182b717d54982 24588 translate-toolkit_3.13.0-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEkOLSwa0Uaht+u4kdu8F+uxOW8vcFAmY4pBAACgkQu8F+uxOW 8vcHbQ/8DOQL1qYADB5TLs4MqzcOr7lMHgyLQDnXw7gW5248oou/O3fCDCNQk20T MU83gqb0hcvF7KP6Jt6WvclrRunTB9xvDGaIWZMowt7FhrcyYzFY7VxS6r8sD+Dt l/dq0h35U19t+h+DbsujLn539E5HEuyHhk2AYuZF3lSjft6KzZ6SYlWGWjJ3uXl0 7xcaynrmfou448F6HWNyc1fyVJbQQSpH8zmCWXLi3wEO6SPNBvSYazd5cUP5nPFD dZhqAsbkgGjyIlwV4UlQq1RF6hYPtBFcYI1GZJdE5Pl5UTjYZN7geavK2iOsumRa WyOm+p4HJSpk3iHfBmgL5Rz8qJhxnOFdXH8W5gAABVWCMhsyAwUE2m/Xd4RjUKNS 3WNvZ98XX97TfKeQIcU4LUHGHl13ZJdOd/GupA/64+wCrnKfTUKYjao3C7fuKCwV b20d1UP9ihtjcKs7ESK8bWKcqYLnHeKsZCACjMQlX78gxxEc9ihZvwgaIFoRzQ3Q nphmnFefk/9y3fxSr0aWr7CWl0iI155QResIkmqKOWS39fUuPpPrckqXlsccH8lm Mw19INwB4wKunzjUmbplIdzHxzCsHoNb192KK9iHHfxonritxvVggGmVVk7UheR1 XrdFvb8HJafGclPkmQUeCJcdEqiGsb7Z3WNbPcm10LWrByrIIu4= =dnQl -----END PGP SIGNATURE----- Tue May 7 02:15:45 UTC 2024 I: Checking whether the package is not for us Tue May 7 02:15:45 UTC 2024 I: Starting 1st build on remote node ionos1-amd64.debian.net. Tue May 7 02:15:45 UTC 2024 I: Preparing to do remote build '1' on ionos1-amd64.debian.net. Tue May 7 02:33:51 UTC 2024 I: Deleting $TMPDIR on ionos1-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Mon May 6 14:15:49 -12 2024 I: pbuilder-time-stamp: 1715048149 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [translate-toolkit_3.13.0-1.dsc] I: copying [./translate-toolkit_3.13.0.orig.tar.gz] I: copying [./translate-toolkit_3.13.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Mon May 6 09:34:08 2024 gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.0-1.dsc: no acceptable signature found dpkg-source: info: extracting translate-toolkit in translate-toolkit-3.13.0 dpkg-source: info: unpacking translate-toolkit_3.13.0.orig.tar.gz dpkg-source: info: unpacking translate-toolkit_3.13.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying tests-skip-call.patch dpkg-source: info: applying test-data-location.patch dpkg-source: info: applying test-installed-scripts.patch dpkg-source: info: applying xliff-xsd-no-network.patch dpkg-source: info: applying disable-sphinx-theme.patch dpkg-source: info: applying poterminology_defaultstopfile.patch dpkg-source: info: applying sphinx-intersphinx.patch dpkg-source: info: applying skip-fluent-tests.patch dpkg-source: info: applying support-old-aeidon.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/704867/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='c51d10f57d644ca8ba41af8db20b5551' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='704867' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/pbuilderrc_Ijam --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/b1 --logfile b1/build.log translate-toolkit_3.13.0-1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 5 07:42 /bin -> usr/bin I: user script /srv/workspace/pbuilder/704867/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python (>> 5.20220923~), pybuild-plugin-pyproject, python3-setuptools, libexttextcat-data, python3-all, python3-aeidon, python3-bs4, python3-chardet, python3-cheroot, python3-diff-match-patch, python3-enchant, python3-iniparse, python3-levenshtein, python3-lxml, python3-mistletoe (>> 1.1.0~), python3-phply, python3-pyparsing (>> 3), python3-pytest, python3-ruamel.yaml, python3-simplejson, python3-syrupy, python3-sphinx, python3-vobject, python3-xapian, rename, subversion dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19699 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python (>> 5.20220923~); however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on libexttextcat-data; however: Package libexttextcat-data is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-aeidon; however: Package python3-aeidon is not installed. pbuilder-satisfydepends-dummy depends on python3-bs4; however: Package python3-bs4 is not installed. pbuilder-satisfydepends-dummy depends on python3-chardet; however: Package python3-chardet is not installed. pbuilder-satisfydepends-dummy depends on python3-cheroot; however: Package python3-cheroot is not installed. pbuilder-satisfydepends-dummy depends on python3-diff-match-patch; however: Package python3-diff-match-patch is not installed. pbuilder-satisfydepends-dummy depends on python3-enchant; however: Package python3-enchant is not installed. pbuilder-satisfydepends-dummy depends on python3-iniparse; however: Package python3-iniparse is not installed. pbuilder-satisfydepends-dummy depends on python3-levenshtein; however: Package python3-levenshtein is not installed. pbuilder-satisfydepends-dummy depends on python3-lxml; however: Package python3-lxml is not installed. pbuilder-satisfydepends-dummy depends on python3-mistletoe (>> 1.1.0~); however: Package python3-mistletoe is not installed. pbuilder-satisfydepends-dummy depends on python3-phply; however: Package python3-phply is not installed. pbuilder-satisfydepends-dummy depends on python3-pyparsing (>> 3); however: Package python3-pyparsing is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-ruamel.yaml; however: Package python3-ruamel.yaml is not installed. pbuilder-satisfydepends-dummy depends on python3-simplejson; however: Package python3-simplejson is not installed. pbuilder-satisfydepends-dummy depends on python3-syrupy; however: Package python3-syrupy is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx; however: Package python3-sphinx is not installed. pbuilder-satisfydepends-dummy depends on python3-vobject; however: Package python3-vobject is not installed. pbuilder-satisfydepends-dummy depends on python3-xapian; however: Package python3-xapian is not installed. pbuilder-satisfydepends-dummy depends on rename; however: Package rename is not installed. pbuilder-satisfydepends-dummy depends on subversion; however: Package subversion is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dictionaries-common{a} docutils-common{a} dwz{a} emacsen-common{a} file{a} gettext{a} gettext-base{a} groff-base{a} hunspell-en-us{a} intltool-debian{a} iso-codes{a} libapr1t64{a} libaprutil1t64{a} libarchive-zip-perl{a} libaspell15{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libenchant-2-2{a} libexpat1{a} libexttextcat-data{a} libfile-stripnondeterminism-perl{a} libglib2.0-0t64{a} libgssapi-krb5-2{a} libhunspell-1.7-0{a} libicu72{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8t64{a} libsasl2-2{a} libsasl2-modules-db{a} libserf-1-1{a} libsub-override-perl{a} libsvn1{a} libtext-iconv-perl{a} libtool{a} libuchardet0{a} libutf8proc3{a} libxml2{a} libxslt1.1{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} po-debconf{a} pybuild-plugin-pyproject{a} python-babel-localedata{a} python3{a} python3-aeidon{a} python3-alabaster{a} python3-all{a} python3-babel{a} python3-bs4{a} python3-build{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-cheroot{a} python3-dateutil{a} python3-diff-match-patch{a} python3-distutils{a} python3-docutils{a} python3-enchant{a} python3-idna{a} python3-imagesize{a} python3-iniconfig{a} python3-iniparse{a} python3-installer{a} python3-jaraco.functools{a} python3-jinja2{a} python3-levenshtein{a} python3-lib2to3{a} python3-lxml{a} python3-markupsafe{a} python3-minimal{a} python3-mistletoe{a} python3-more-itertools{a} python3-packaging{a} python3-phply{a} python3-pkg-resources{a} python3-pluggy{a} python3-ply{a} python3-pygments{a} python3-pyparsing{a} python3-pyproject-hooks{a} python3-pytest{a} python3-rapidfuzz{a} python3-requests{a} python3-roman{a} python3-ruamel.yaml{a} python3-ruamel.yaml.clib{a} python3-setuptools{a} python3-simplejson{a} python3-six{a} python3-snowballstemmer{a} python3-soupsieve{a} python3-sphinx{a} python3-syrupy{a} python3-toml{a} python3-urllib3{a} python3-vobject{a} python3-wheel{a} python3-xapian{a} python3.11{a} python3.11-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} rename{a} sensible-utils{a} sgml-base{a} sphinx-common{a} subversion{a} tzdata{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: aspell-am aspell-ar aspell-ar-large aspell-bg aspell-br aspell-ca aspell-cs aspell-cy aspell-da aspell-de aspell-de-1901 aspell-el aspell-en aspell-eo aspell-eo-cx7 aspell-es aspell-et aspell-eu aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-he aspell-hr aspell-hsb aspell-hu aspell-hy aspell-is aspell-it aspell-kk aspell-ku aspell-lt aspell-lv aspell-nl aspell-no aspell-pl aspell-pt-br aspell-pt-pt aspell-ro aspell-ru aspell-sk aspell-sl aspell-sv aspell-tl aspell-uk aspell-uz curl enchant-2 javascript-common krb5-locales libarchive-cpio-perl libglib2.0-data libjson-xs-perl libltdl-dev libmail-sendmail-perl libpaper-utils libsasl2-modules lynx python3-cssselect python3-html5lib python3-pil python3-tz shared-mime-info wget xdg-user-dirs 0 packages upgraded, 140 newly installed, 0 to remove and 0 not upgraded. Need to get 59.7 MB of archives. After unpacking 268 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 libpython3.11-minimal amd64 3.11.9-1 [817 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.6.2-1 [103 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 python3.11-minimal amd64 3.11.9-1 [1879 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.11.8-1 [26.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 tzdata all 2024a-4 [255 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 readline-common all 8.2-4 [69.3 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.2-4 [167 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 libpython3.11-stdlib amd64 3.11.9-1 [1792 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 python3.11 amd64 3.11.9-1 [602 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.11.8-1 [9332 B] Get: 13 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.11.8-1 [27.4 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 libpython3.12-minimal amd64 3.12.3-1 [809 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 python3.12-minimal amd64 3.12.3-1 [2139 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 sgml-base all 1.31 [15.4 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.22 [22.4 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.2.1-3 [1360 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20240203 [158 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3 [314 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3 [105 kB] Get: 22 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3 [42.9 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.21-14+b1 [161 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b1 [68.8 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-4 [1180 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40-8 [92.8 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.7-2 [38.0 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.12.1-1 [1411 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.71-3 [332 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.21-14 [496 kB] Get: 34 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.15.3 [88.0 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 libtool all 2.4.7-7 [517 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 38 http://deb.debian.org/debian unstable/main amd64 libsub-override-perl all 0.10-1 [10.6 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 41 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.191-1+b1 [189 kB] Get: 42 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-4+b1 [9395 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.9.14+dfsg-1.3+b3 [692 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.21-14+b1 [1301 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.15.3 [901 kB] Get: 49 http://deb.debian.org/debian unstable/main amd64 python3-pkg-resources all 68.1.2-2 [241 kB] Get: 50 http://deb.debian.org/debian unstable/main amd64 python3-lib2to3 all 3.12.3-1 [77.6 kB] Get: 51 http://deb.debian.org/debian unstable/main amd64 python3-distutils all 3.12.3-1 [131 kB] Get: 52 http://deb.debian.org/debian unstable/main amd64 python3-setuptools all 68.1.2-2 [468 kB] Get: 53 http://deb.debian.org/debian unstable/main amd64 dh-python all 6.20240422 [107 kB] Get: 54 http://deb.debian.org/debian unstable/main amd64 libtext-iconv-perl amd64 1.7-8+b3 [14.4 kB] Get: 55 http://deb.debian.org/debian unstable/main amd64 emacsen-common all 3.0.5 [12.3 kB] Get: 56 http://deb.debian.org/debian unstable/main amd64 dictionaries-common all 1.29.7 [184 kB] Get: 57 http://deb.debian.org/debian unstable/main amd64 xml-core all 0.19 [20.1 kB] Get: 58 http://deb.debian.org/debian unstable/main amd64 docutils-common all 0.20.1+dfsg-3 [128 kB] Get: 59 http://deb.debian.org/debian unstable/main amd64 hunspell-en-us all 1:2020.12.07-2 [269 kB] Get: 60 http://deb.debian.org/debian unstable/main amd64 iso-codes all 4.16.0-1 [2936 kB] Get: 61 http://deb.debian.org/debian unstable/main amd64 libapr1t64 amd64 1.7.2-3.2 [102 kB] Get: 62 http://deb.debian.org/debian unstable/main amd64 libaprutil1t64 amd64 1.6.3-2 [88.3 kB] Get: 63 http://deb.debian.org/debian unstable/main amd64 libaspell15 amd64 0.60.8.1-1+b1 [334 kB] Get: 64 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.1~rc2-1 [22.6 kB] Get: 65 http://deb.debian.org/debian unstable/main amd64 libglib2.0-0t64 amd64 2.80.0-9 [1481 kB] Get: 66 http://deb.debian.org/debian unstable/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10+b2 [233 kB] Get: 67 http://deb.debian.org/debian unstable/main amd64 libenchant-2-2 amd64 2.3.3-2+b2 [47.9 kB] Get: 68 http://deb.debian.org/debian unstable/main amd64 libexttextcat-data all 3.4.7-1 [176 kB] Get: 69 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.20.1-6+b1 [33.3 kB] Get: 70 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.20.1-6+b1 [79.8 kB] Get: 71 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-3 [8952 B] Get: 72 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.20.1-6+b1 [333 kB] Get: 73 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.20.1-6+b1 [135 kB] Get: 74 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 75 http://deb.debian.org/debian unstable/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 76 http://deb.debian.org/debian unstable/main amd64 libjs-sphinxdoc all 7.2.6-6 [150 kB] Get: 77 http://deb.debian.org/debian unstable/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 78 http://deb.debian.org/debian unstable/main amd64 libpython3.12-stdlib amd64 3.12.3-1 [1951 kB] Get: 79 http://deb.debian.org/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-6 [19.5 kB] Get: 80 http://deb.debian.org/debian unstable/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-6 [56.9 kB] Get: 81 http://deb.debian.org/debian unstable/main amd64 libserf-1-1 amd64 1.3.10-2 [52.7 kB] Get: 82 http://deb.debian.org/debian unstable/main amd64 libutf8proc3 amd64 2.9.0-1+b1 [60.6 kB] Get: 83 http://deb.debian.org/debian unstable/main amd64 libsvn1 amd64 1.14.3-1+b4 [1414 kB] Get: 84 http://deb.debian.org/debian unstable/main amd64 libxslt1.1 amd64 1.1.35-1+b1 [232 kB] Get: 85 http://deb.debian.org/debian unstable/main amd64 python3-packaging all 24.0-1 [45.5 kB] Get: 86 http://deb.debian.org/debian unstable/main amd64 python3-pyproject-hooks all 1.0.0-2 [10.6 kB] Get: 87 http://deb.debian.org/debian unstable/main amd64 python3-toml all 0.10.2-1 [16.2 kB] Get: 88 http://deb.debian.org/debian unstable/main amd64 python3-wheel all 0.43.0-1 [52.5 kB] Get: 89 http://deb.debian.org/debian unstable/main amd64 python3-build all 1.2.1-1 [34.1 kB] Get: 90 http://deb.debian.org/debian unstable/main amd64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 91 http://deb.debian.org/debian unstable/main amd64 pybuild-plugin-pyproject all 6.20240422 [11.1 kB] Get: 92 http://deb.debian.org/debian unstable/main amd64 python-babel-localedata all 2.14.0-1 [5701 kB] Get: 93 http://deb.debian.org/debian unstable/main amd64 python3-aeidon all 1.11-2 [212 kB] Get: 94 http://deb.debian.org/debian unstable/main amd64 python3-alabaster all 0.7.12-1 [20.8 kB] Get: 95 http://deb.debian.org/debian unstable/main amd64 python3.12 amd64 3.12.3-1 [659 kB] Get: 96 http://deb.debian.org/debian unstable/main amd64 python3-all amd64 3.11.8-1 [1056 B] Get: 97 http://deb.debian.org/debian unstable/main amd64 python3-babel all 2.14.0-1 [111 kB] Get: 98 http://deb.debian.org/debian unstable/main amd64 python3-soupsieve all 2.5-1 [38.1 kB] Get: 99 http://deb.debian.org/debian unstable/main amd64 python3-bs4 all 4.12.3-1 [133 kB] Get: 100 http://deb.debian.org/debian unstable/main amd64 python3-certifi all 2023.11.17-1 [155 kB] Get: 101 http://deb.debian.org/debian unstable/main amd64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 102 http://deb.debian.org/debian unstable/main amd64 python3-charset-normalizer all 3.3.2-1 [51.6 kB] Get: 103 http://deb.debian.org/debian unstable/main amd64 python3-more-itertools all 10.2.0-1 [59.9 kB] Get: 104 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.functools all 4.0.0-1 [10.6 kB] Get: 105 http://deb.debian.org/debian unstable/main amd64 python3-cheroot all 10.0.0+ds1-2 [79.9 kB] Get: 106 http://deb.debian.org/debian unstable/main amd64 python3-six all 1.16.0-6 [16.3 kB] Get: 107 http://deb.debian.org/debian unstable/main amd64 python3-dateutil all 2.9.0-2 [79.4 kB] Get: 108 http://deb.debian.org/debian unstable/main amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] Get: 109 http://deb.debian.org/debian unstable/main amd64 python3-roman all 3.3-3 [9880 B] Get: 110 http://deb.debian.org/debian unstable/main amd64 python3-docutils all 0.20.1+dfsg-3 [389 kB] Get: 111 http://deb.debian.org/debian unstable/main amd64 python3-enchant all 3.2.2-1 [39.2 kB] Get: 112 http://deb.debian.org/debian unstable/main amd64 python3-idna all 3.6-2 [37.0 kB] Get: 113 http://deb.debian.org/debian unstable/main amd64 python3-imagesize all 1.4.1-1 [6688 B] Get: 114 http://deb.debian.org/debian unstable/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 115 http://deb.debian.org/debian unstable/main amd64 python3-iniparse all 0.5-2 [21.1 kB] Get: 116 http://deb.debian.org/debian unstable/main amd64 python3-markupsafe amd64 2.1.5-1 [14.5 kB] Get: 117 http://deb.debian.org/debian unstable/main amd64 python3-jinja2 all 3.1.3-1 [119 kB] Get: 118 http://deb.debian.org/debian unstable/main amd64 python3-rapidfuzz amd64 3.6.2+ds-3 [2813 kB] Get: 119 http://deb.debian.org/debian unstable/main amd64 python3-levenshtein amd64 0.25.1-3 [145 kB] Get: 120 http://deb.debian.org/debian unstable/main amd64 python3-lxml amd64 5.2.1-1 [1995 kB] Get: 121 http://deb.debian.org/debian unstable/main amd64 python3-mistletoe all 1.3.0-1 [37.4 kB] Get: 122 http://deb.debian.org/debian unstable/main amd64 python3-ply all 3.11-6 [63.7 kB] Get: 123 http://deb.debian.org/debian unstable/main amd64 python3-phply all 1.2.6-1 [47.4 kB] Get: 124 http://deb.debian.org/debian unstable/main amd64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 125 http://deb.debian.org/debian unstable/main amd64 python3-pygments all 2.17.2+dfsg-1 [818 kB] Get: 126 http://deb.debian.org/debian unstable/main amd64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 127 http://deb.debian.org/debian unstable/main amd64 python3-pytest all 8.1.2-1 [246 kB] Get: 128 http://deb.debian.org/debian unstable/main amd64 python3-urllib3 all 1.26.18-2 [116 kB] Get: 129 http://deb.debian.org/debian unstable/main amd64 python3-requests all 2.31.0+dfsg-1 [68.6 kB] Get: 130 http://deb.debian.org/debian unstable/main amd64 python3-ruamel.yaml.clib amd64 0.2.8+ds-1 [188 kB] Get: 131 http://deb.debian.org/debian unstable/main amd64 python3-ruamel.yaml all 0.18.6+ds-3 [145 kB] Get: 132 http://deb.debian.org/debian unstable/main amd64 python3-simplejson amd64 3.19.2-1+b1 [69.4 kB] Get: 133 http://deb.debian.org/debian unstable/main amd64 python3-snowballstemmer all 2.2.0-4 [58.0 kB] Get: 134 http://deb.debian.org/debian unstable/main amd64 sphinx-common all 7.2.6-6 [702 kB] Get: 135 http://deb.debian.org/debian unstable/main amd64 python3-sphinx all 7.2.6-6 [552 kB] Get: 136 http://deb.debian.org/debian unstable/main amd64 python3-syrupy all 4.6.1-1 [51.1 kB] Get: 137 http://deb.debian.org/debian unstable/main amd64 python3-vobject all 0.9.6.1-2 [40.2 kB] Get: 138 http://deb.debian.org/debian unstable/main amd64 python3-xapian amd64 1.4.25-1 [672 kB] Get: 139 http://deb.debian.org/debian unstable/main amd64 rename all 2.02-1 [21.8 kB] Get: 140 http://deb.debian.org/debian unstable/main amd64 subversion amd64 1.14.3-1+b4 [960 kB] Fetched 59.7 MB in 2s (25.6 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:amd64. (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 ... 19699 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.9-1_amd64.deb ... Unpacking libpython3.11-minimal:amd64 (3.11.9-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.6.2-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.2-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.9-1_amd64.deb ... Unpacking python3.11-minimal (3.11.9-1) ... Setting up libpython3.11-minimal:amd64 (3.11.9-1) ... Setting up libexpat1:amd64 (2.6.2-1) ... Setting up python3.11-minimal (3.11.9-1) ... Selecting previously unselected package python3-minimal. (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 ... 20015 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.8-1_amd64.deb ... Unpacking python3-minimal (3.11.8-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-4_all.deb ... Unpacking readline-common (8.2-4) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../5-libreadline8t64_8.2-4_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-4) ... Selecting previously unselected package libpython3.11-stdlib:amd64. Preparing to unpack .../6-libpython3.11-stdlib_3.11.9-1_amd64.deb ... Unpacking libpython3.11-stdlib:amd64 (3.11.9-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.9-1_amd64.deb ... Unpacking python3.11 (3.11.9-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../8-libpython3-stdlib_3.11.8-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.11.8-1) ... Setting up python3-minimal (3.11.8-1) ... Selecting previously unselected package python3. (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 ... 21007 files and directories currently installed.) Preparing to unpack .../000-python3_3.11.8-1_amd64.deb ... Unpacking python3 (3.11.8-1) ... Selecting previously unselected package libpython3.12-minimal:amd64. Preparing to unpack .../001-libpython3.12-minimal_3.12.3-1_amd64.deb ... Unpacking libpython3.12-minimal:amd64 (3.12.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../002-python3.12-minimal_3.12.3-1_amd64.deb ... Unpacking python3.12-minimal (3.12.3-1) ... Selecting previously unselected package sgml-base. Preparing to unpack .../003-sgml-base_1.31_all.deb ... Unpacking sgml-base (1.31) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../004-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package openssl. Preparing to unpack .../005-openssl_3.2.1-3_amd64.deb ... Unpacking openssl (3.2.1-3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../006-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../007-libmagic-mgc_1%3a5.45-3_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../008-libmagic1t64_1%3a5.45-3_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../009-file_1%3a5.45-3_amd64.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../010-gettext-base_0.21-14+b1_amd64.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../011-libuchardet0_0.0.8-1+b1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../012-groff-base_1.23.0-4_amd64.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../013-bsdextrautils_2.40-8_amd64.deb ... Unpacking bsdextrautils (2.40-8) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../014-libpipeline1_1.5.7-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../015-man-db_2.12.1-1_amd64.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../016-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../017-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../018-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../019-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../020-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../021-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../022-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../023-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../024-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../025-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../026-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../027-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../028-libelf1t64_0.191-1+b1_amd64.deb ... Unpacking libelf1t64:amd64 (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../029-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../030-libicu72_72.1-4+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-4+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../031-libxml2_2.9.14+dfsg-1.3+b3_amd64.deb ... Unpacking libxml2:amd64 (2.9.14+dfsg-1.3+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../032-gettext_0.21-14+b1_amd64.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../033-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../034-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../035-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../036-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../037-python3-lib2to3_3.12.3-1_all.deb ... Unpacking python3-lib2to3 (3.12.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../038-python3-distutils_3.12.3-1_all.deb ... Unpacking python3-distutils (3.12.3-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../039-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../040-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package libtext-iconv-perl:amd64. Preparing to unpack .../041-libtext-iconv-perl_1.7-8+b3_amd64.deb ... Unpacking libtext-iconv-perl:amd64 (1.7-8+b3) ... Selecting previously unselected package emacsen-common. Preparing to unpack .../042-emacsen-common_3.0.5_all.deb ... Unpacking emacsen-common (3.0.5) ... Selecting previously unselected package dictionaries-common. Preparing to unpack .../043-dictionaries-common_1.29.7_all.deb ... Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' Unpacking dictionaries-common (1.29.7) ... Selecting previously unselected package xml-core. Preparing to unpack .../044-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../045-docutils-common_0.20.1+dfsg-3_all.deb ... Unpacking docutils-common (0.20.1+dfsg-3) ... Selecting previously unselected package hunspell-en-us. Preparing to unpack .../046-hunspell-en-us_1%3a2020.12.07-2_all.deb ... Unpacking hunspell-en-us (1:2020.12.07-2) ... Selecting previously unselected package iso-codes. Preparing to unpack .../047-iso-codes_4.16.0-1_all.deb ... Unpacking iso-codes (4.16.0-1) ... Selecting previously unselected package libapr1t64:amd64. Preparing to unpack .../048-libapr1t64_1.7.2-3.2_amd64.deb ... Unpacking libapr1t64:amd64 (1.7.2-3.2) ... Selecting previously unselected package libaprutil1t64:amd64. Preparing to unpack .../049-libaprutil1t64_1.6.3-2_amd64.deb ... Unpacking libaprutil1t64:amd64 (1.6.3-2) ... Selecting previously unselected package libaspell15:amd64. Preparing to unpack .../050-libaspell15_0.60.8.1-1+b1_amd64.deb ... Unpacking libaspell15:amd64 (0.60.8.1-1+b1) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../051-libcom-err2_1.47.1~rc2-1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1~rc2-1) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../052-libglib2.0-0t64_2.80.0-9_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.80.0-9) ... Selecting previously unselected package libhunspell-1.7-0:amd64. Preparing to unpack .../053-libhunspell-1.7-0_1.7.2+really1.7.2-10+b2_amd64.deb ... Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10+b2) ... Selecting previously unselected package libenchant-2-2:amd64. Preparing to unpack .../054-libenchant-2-2_2.3.3-2+b2_amd64.deb ... Unpacking libenchant-2-2:amd64 (2.3.3-2+b2) ... Selecting previously unselected package libexttextcat-data. Preparing to unpack .../055-libexttextcat-data_3.4.7-1_all.deb ... Unpacking libexttextcat-data (3.4.7-1) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../056-libkrb5support0_1.20.1-6+b1_amd64.deb ... Unpacking libkrb5support0:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../057-libk5crypto3_1.20.1-6+b1_amd64.deb ... Unpacking libk5crypto3:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../058-libkeyutils1_1.6.3-3_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-3) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../059-libkrb5-3_1.20.1-6+b1_amd64.deb ... Unpacking libkrb5-3:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../060-libgssapi-krb5-2_1.20.1-6+b1_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.20.1-6+b1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../061-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../062-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../063-libjs-sphinxdoc_7.2.6-6_all.deb ... Unpacking libjs-sphinxdoc (7.2.6-6) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../064-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libpython3.12-stdlib:amd64. Preparing to unpack .../065-libpython3.12-stdlib_3.12.3-1_amd64.deb ... Unpacking libpython3.12-stdlib:amd64 (3.12.3-1) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../066-libsasl2-modules-db_2.1.28+dfsg1-6_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-6) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../067-libsasl2-2_2.1.28+dfsg1-6_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-6) ... Selecting previously unselected package libserf-1-1:amd64. Preparing to unpack .../068-libserf-1-1_1.3.10-2_amd64.deb ... Unpacking libserf-1-1:amd64 (1.3.10-2) ... Selecting previously unselected package libutf8proc3:amd64. Preparing to unpack .../069-libutf8proc3_2.9.0-1+b1_amd64.deb ... Unpacking libutf8proc3:amd64 (2.9.0-1+b1) ... Selecting previously unselected package libsvn1:amd64. Preparing to unpack .../070-libsvn1_1.14.3-1+b4_amd64.deb ... Unpacking libsvn1:amd64 (1.14.3-1+b4) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../071-libxslt1.1_1.1.35-1+b1_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.35-1+b1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../072-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../073-python3-pyproject-hooks_1.0.0-2_all.deb ... Unpacking python3-pyproject-hooks (1.0.0-2) ... Selecting previously unselected package python3-toml. Preparing to unpack .../074-python3-toml_0.10.2-1_all.deb ... Unpacking python3-toml (0.10.2-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../075-python3-wheel_0.43.0-1_all.deb ... Unpacking python3-wheel (0.43.0-1) ... Selecting previously unselected package python3-build. Preparing to unpack .../076-python3-build_1.2.1-1_all.deb ... Unpacking python3-build (1.2.1-1) ... Selecting previously unselected package python3-installer. Preparing to unpack .../077-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../078-pybuild-plugin-pyproject_6.20240422_all.deb ... Unpacking pybuild-plugin-pyproject (6.20240422) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../079-python-babel-localedata_2.14.0-1_all.deb ... Unpacking python-babel-localedata (2.14.0-1) ... Selecting previously unselected package python3-aeidon. Preparing to unpack .../080-python3-aeidon_1.11-2_all.deb ... Unpacking python3-aeidon (1.11-2) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../081-python3-alabaster_0.7.12-1_all.deb ... Unpacking python3-alabaster (0.7.12-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../082-python3.12_3.12.3-1_amd64.deb ... Unpacking python3.12 (3.12.3-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../083-python3-all_3.11.8-1_amd64.deb ... Unpacking python3-all (3.11.8-1) ... Selecting previously unselected package python3-babel. Preparing to unpack .../084-python3-babel_2.14.0-1_all.deb ... Unpacking python3-babel (2.14.0-1) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../085-python3-soupsieve_2.5-1_all.deb ... Unpacking python3-soupsieve (2.5-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../086-python3-bs4_4.12.3-1_all.deb ... Unpacking python3-bs4 (4.12.3-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../087-python3-certifi_2023.11.17-1_all.deb ... Unpacking python3-certifi (2023.11.17-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../088-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../089-python3-charset-normalizer_3.3.2-1_all.deb ... Unpacking python3-charset-normalizer (3.3.2-1) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../090-python3-more-itertools_10.2.0-1_all.deb ... Unpacking python3-more-itertools (10.2.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../091-python3-jaraco.functools_4.0.0-1_all.deb ... Unpacking python3-jaraco.functools (4.0.0-1) ... Selecting previously unselected package python3-cheroot. Preparing to unpack .../092-python3-cheroot_10.0.0+ds1-2_all.deb ... Unpacking python3-cheroot (10.0.0+ds1-2) ... Selecting previously unselected package python3-six. Preparing to unpack .../093-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../094-python3-dateutil_2.9.0-2_all.deb ... Unpacking python3-dateutil (2.9.0-2) ... Selecting previously unselected package python3-diff-match-patch. Preparing to unpack .../095-python3-diff-match-patch_20230430-1_all.deb ... Unpacking python3-diff-match-patch (20230430-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../096-python3-roman_3.3-3_all.deb ... Unpacking python3-roman (3.3-3) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../097-python3-docutils_0.20.1+dfsg-3_all.deb ... Unpacking python3-docutils (0.20.1+dfsg-3) ... Selecting previously unselected package python3-enchant. Preparing to unpack .../098-python3-enchant_3.2.2-1_all.deb ... Unpacking python3-enchant (3.2.2-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../099-python3-idna_3.6-2_all.deb ... Unpacking python3-idna (3.6-2) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../100-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../101-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-iniparse. Preparing to unpack .../102-python3-iniparse_0.5-2_all.deb ... Unpacking python3-iniparse (0.5-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../103-python3-markupsafe_2.1.5-1_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../104-python3-jinja2_3.1.3-1_all.deb ... Unpacking python3-jinja2 (3.1.3-1) ... Selecting previously unselected package python3-rapidfuzz. Preparing to unpack .../105-python3-rapidfuzz_3.6.2+ds-3_amd64.deb ... Unpacking python3-rapidfuzz (3.6.2+ds-3) ... Selecting previously unselected package python3-levenshtein. Preparing to unpack .../106-python3-levenshtein_0.25.1-3_amd64.deb ... Unpacking python3-levenshtein (0.25.1-3) ... Selecting previously unselected package python3-lxml:amd64. Preparing to unpack .../107-python3-lxml_5.2.1-1_amd64.deb ... Unpacking python3-lxml:amd64 (5.2.1-1) ... Selecting previously unselected package python3-mistletoe. Preparing to unpack .../108-python3-mistletoe_1.3.0-1_all.deb ... Unpacking python3-mistletoe (1.3.0-1) ... Selecting previously unselected package python3-ply. Preparing to unpack .../109-python3-ply_3.11-6_all.deb ... Unpacking python3-ply (3.11-6) ... Selecting previously unselected package python3-phply. Preparing to unpack .../110-python3-phply_1.2.6-1_all.deb ... Unpacking python3-phply (1.2.6-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../111-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../112-python3-pygments_2.17.2+dfsg-1_all.deb ... Unpacking python3-pygments (2.17.2+dfsg-1) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../113-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../114-python3-pytest_8.1.2-1_all.deb ... Unpacking python3-pytest (8.1.2-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../115-python3-urllib3_1.26.18-2_all.deb ... Unpacking python3-urllib3 (1.26.18-2) ... Selecting previously unselected package python3-requests. Preparing to unpack .../116-python3-requests_2.31.0+dfsg-1_all.deb ... Unpacking python3-requests (2.31.0+dfsg-1) ... Selecting previously unselected package python3-ruamel.yaml.clib:amd64. Preparing to unpack .../117-python3-ruamel.yaml.clib_0.2.8+ds-1_amd64.deb ... Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8+ds-1) ... Selecting previously unselected package python3-ruamel.yaml. Preparing to unpack .../118-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... Selecting previously unselected package python3-simplejson. Preparing to unpack .../119-python3-simplejson_3.19.2-1+b1_amd64.deb ... Unpacking python3-simplejson (3.19.2-1+b1) ... Selecting previously unselected package python3-snowballstemmer. Preparing to unpack .../120-python3-snowballstemmer_2.2.0-4_all.deb ... Unpacking python3-snowballstemmer (2.2.0-4) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../121-sphinx-common_7.2.6-6_all.deb ... Unpacking sphinx-common (7.2.6-6) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../122-python3-sphinx_7.2.6-6_all.deb ... Unpacking python3-sphinx (7.2.6-6) ... Selecting previously unselected package python3-syrupy. Preparing to unpack .../123-python3-syrupy_4.6.1-1_all.deb ... Unpacking python3-syrupy (4.6.1-1) ... Selecting previously unselected package python3-vobject. Preparing to unpack .../124-python3-vobject_0.9.6.1-2_all.deb ... Unpacking python3-vobject (0.9.6.1-2) ... Selecting previously unselected package python3-xapian. Preparing to unpack .../125-python3-xapian_1.4.25-1_amd64.deb ... Unpacking python3-xapian (1.4.25-1) ... Selecting previously unselected package rename. Preparing to unpack .../126-rename_2.02-1_all.deb ... Unpacking rename (2.02-1) ... Selecting previously unselected package subversion. Preparing to unpack .../127-subversion_1.14.3-1+b4_amd64.deb ... Unpacking subversion (1.14.3-1+b4) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:amd64 (1.5.7-2) ... Setting up libtext-iconv-perl:amd64 (1.7-8+b3) ... Setting up libkeyutils1:amd64 (1.6.3-3) ... Setting up libicu72:amd64 (72.1-4+b1) ... Setting up bsdextrautils (2.40-8) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libutf8proc3:amd64 (2.9.0-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libaspell15:amd64 (0.60.8.1-1+b1) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libmagic1t64:amd64 (1:5.45-3) ... Setting up libpython3.12-minimal:amd64 (3.12.3-1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up rename (2.02-1) ... update-alternatives: using /usr/bin/file-rename to provide /usr/bin/rename (rename) in auto mode Setting up libcom-err2:amd64 (1.47.1~rc2-1) ... Setting up file (1:5.45-3) ... Setting up libelf1t64:amd64 (0.191-1+b1) ... Setting up python-babel-localedata (2.14.0-1) ... Setting up libkrb5support0:amd64 (1.20.1-6+b1) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-6) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Tue May 7 02:18:13 UTC 2024. Universal Time is now: Tue May 7 02:18:13 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libglib2.0-0t64:amd64 (2.80.0-9) ... No schema files found: doing nothing. Setting up emacsen-common (3.0.5) ... Setting up autopoint (0.21-14) ... Setting up libk5crypto3:amd64 (1.20.1-6+b1) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg1-6) ... Setting up autoconf (2.71-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.22) ... Setting up libexttextcat-data (3.4.7-1) ... Setting up libuchardet0:amd64 (0.0.8-1+b1) ... Setting up libapr1t64:amd64 (1.7.2-3.2) ... Setting up libjson-perl (4.10000-1) ... Setting up libsub-override-perl (0.10-1) ... Setting up netbase (6.4) ... Setting up sgml-base (1.31) ... Setting up libkrb5-3:amd64 (1.20.1-6+b1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10+b2) ... Setting up openssl (3.2.1-3) ... Setting up readline-common (8.2-4) ... Setting up libxml2:amd64 (2.9.14+dfsg-1.3+b3) ... Setting up iso-codes (4.16.0-1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up python3.12-minimal (3.12.3-1) ... Setting up libaprutil1t64:amd64 (1.6.3-2) ... Setting up gettext (0.21-14+b1) ... Setting up dictionaries-common (1.29.7) ... Setting up libtool (2.4.7-7) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libgssapi-krb5-2:amd64 (1.20.1-6+b1) ... Setting up libjs-sphinxdoc (7.2.6-6) ... Setting up libreadline8t64:amd64 (8.2-4) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up groff-base (1.23.0-4) ... Setting up xml-core (0.19) ... Setting up libxslt1.1:amd64 (1.1.35-1+b1) ... Setting up hunspell-en-us (1:2020.12.07-2) ... Setting up libpython3.12-stdlib:amd64 (3.12.3-1) ... Setting up libenchant-2-2:amd64 (2.3.3-2+b2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:amd64 (3.11.9-1) ... Setting up python3.12 (3.12.3-1) ... Setting up libserf-1-1:amd64 (1.3.10-2) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up sphinx-common (7.2.6-6) ... Setting up libsvn1:amd64 (1.14.3-1+b4) ... Setting up libpython3-stdlib:amd64 (3.11.8-1) ... Setting up python3.11 (3.11.9-1) ... Setting up subversion (1.14.3-1+b4) ... Setting up debhelper (13.15.3) ... Setting up python3 (3.11.8-1) ... Setting up python3-markupsafe (2.1.5-1) ... Setting up python3-wheel (0.43.0-1) ... Setting up python3-six (1.16.0-6) ... Setting up python3-simplejson (3.19.2-1+b1) ... Setting up python3-roman (3.3-3) ... Setting up python3-jinja2 (3.1.3-1) ... Setting up python3-packaging (24.0-1) ... Setting up python3-pyproject-hooks (1.0.0-2) ... Setting up python3-enchant (3.2.2-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-certifi (2023.11.17-1) ... Setting up python3-snowballstemmer (2.2.0-4) ... Setting up python3-xapian (1.4.25-1) ... Setting up python3-idna (3.6-2) ... Setting up python3-toml (0.10.2-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-urllib3 (1.26.18-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-mistletoe (1.3.0-1) ... Setting up python3-lxml:amd64 (5.2.1-1) ... Setting up python3-dateutil (2.9.0-2) ... Setting up python3-build (1.2.1-1) ... Setting up python3-lib2to3 (3.12.3-1) ... Setting up python3-soupsieve (2.5-1) ... Setting up python3-iniparse (0.5-2) ... Setting up python3-imagesize (1.4.1-1) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-distutils (3.12.3-1) ... python3.12: can't get files for byte-compilation Setting up python3-more-itertools (10.2.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-rapidfuzz (3.6.2+ds-3) ... Setting up python3-vobject (0.9.6.1-2) ... /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' patterns['name'] = '[a-zA-Z0-9\-_]+' /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' """ Setting up python3-diff-match-patch (20230430-1) ... Setting up python3-jaraco.functools (4.0.0-1) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-aeidon (1.11-2) ... Setting up python3-babel (2.14.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-charset-normalizer (3.3.2-1) ... Setting up python3-pytest (8.1.2-1) ... Setting up python3-alabaster (0.7.12-1) ... Setting up python3-syrupy (4.6.1-1) ... Setting up python3-ply (3.11-6) ... Setting up python3-ruamel.yaml.clib:amd64 (0.2.8+ds-1) ... Setting up python3-all (3.11.8-1) ... Setting up python3-bs4 (4.12.3-1) ... Setting up python3-pygments (2.17.2+dfsg-1) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up python3-cheroot (10.0.0+ds1-2) ... Setting up python3-requests (2.31.0+dfsg-1) ... Setting up python3-ruamel.yaml (0.18.6+ds-3) ... Setting up python3-levenshtein (0.25.1-3) ... Setting up dh-python (6.20240422) ... Setting up python3-phply (1.2.6-1) ... Setting up pybuild-plugin-pyproject (6.20240422) ... Processing triggers for libc-bin (2.38-7) ... Processing triggers for sgml-base (1.31) ... Setting up docutils-common (0.20.1+dfsg-3) ... Processing triggers for sgml-base (1.31) ... Setting up python3-docutils (0.20.1+dfsg-3) ... Setting up python3-sphinx (7.2.6-6) ... Processing triggers for dictionaries-common (1.29.7) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/translate-toolkit-3.13.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../translate-toolkit_3.13.0-1_source.changes dpkg-buildpackage: info: source package translate-toolkit dpkg-buildpackage: info: source version 3.13.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Stuart Prescott dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --with python3,sphinxdoc --buildsystem pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules execute_after_dh_clean make[1]: Entering directory '/build/reproducible-path/translate-toolkit-3.13.0' rm -rf man docs/_build run-tests .cache make -C docs clean make[2]: Entering directory '/build/reproducible-path/translate-toolkit-3.13.0/docs' rm -rf _build/* make[2]: Leaving directory '/build/reproducible-path/translate-toolkit-3.13.0/docs' make[1]: Leaving directory '/build/reproducible-path/translate-toolkit-3.13.0' debian/rules binary dh binary --with python3,sphinxdoc --buildsystem pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/translate-toolkit-3.13.0/.pybuild/cpython3_3.12_translate * Building wheel... running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/translate copying translate/__version__.py -> build/lib/translate copying translate/__init__.py -> build/lib/translate creating build/lib/translate/search copying translate/search/lshtein.py -> build/lib/translate/search copying translate/search/__init__.py -> build/lib/translate/search copying translate/search/match.py -> build/lib/translate/search copying translate/search/terminology.py -> build/lib/translate/search creating build/lib/translate/lang copying translate/lang/zh_tw.py -> build/lib/translate/lang copying translate/lang/ar.py -> build/lib/translate/lang copying translate/lang/nqo.py -> build/lib/translate/lang copying translate/lang/da.py -> build/lib/translate/lang copying translate/lang/fa.py -> build/lib/translate/lang copying translate/lang/hi.py -> build/lib/translate/lang copying translate/lang/pl.py -> build/lib/translate/lang copying translate/lang/es.py -> build/lib/translate/lang copying translate/lang/pt_BR.py -> build/lib/translate/lang copying translate/lang/common.py -> build/lib/translate/lang copying translate/lang/hy.py -> build/lib/translate/lang copying translate/lang/son.py -> build/lib/translate/lang copying translate/lang/ve.py -> build/lib/translate/lang copying translate/lang/de.py -> build/lib/translate/lang copying translate/lang/gu.py -> build/lib/translate/lang copying translate/lang/am.py -> build/lib/translate/lang copying translate/lang/lo.py -> build/lib/translate/lang copying translate/lang/gd.py -> build/lib/translate/lang copying translate/lang/tr.py -> build/lib/translate/lang copying translate/lang/my.py -> build/lib/translate/lang copying translate/lang/st.py -> build/lib/translate/lang copying translate/lang/af.py -> build/lib/translate/lang copying translate/lang/scn.py -> build/lib/translate/lang copying translate/lang/ms.py -> build/lib/translate/lang copying translate/lang/he.py -> build/lib/translate/lang copying translate/lang/el.py -> build/lib/translate/lang copying translate/lang/te.py -> build/lib/translate/lang copying translate/lang/data.py -> build/lib/translate/lang copying translate/lang/si.py -> build/lib/translate/lang copying translate/lang/__init__.py -> build/lib/translate/lang copying translate/lang/poedit.py -> build/lib/translate/lang copying translate/lang/th.py -> build/lib/translate/lang copying translate/lang/ko.py -> build/lib/translate/lang copying translate/lang/factory.py -> build/lib/translate/lang copying translate/lang/zh_cn.py -> build/lib/translate/lang copying translate/lang/identify.py -> build/lib/translate/lang copying translate/lang/pa.py -> build/lib/translate/lang copying translate/lang/kn.py -> build/lib/translate/lang copying translate/lang/bo.py -> build/lib/translate/lang copying translate/lang/wo.py -> build/lib/translate/lang copying translate/lang/nso.py -> build/lib/translate/lang copying translate/lang/km.py -> build/lib/translate/lang copying translate/lang/vi.py -> build/lib/translate/lang copying translate/lang/ug.py -> build/lib/translate/lang copying translate/lang/code_as.py -> build/lib/translate/lang copying translate/lang/bn.py -> build/lib/translate/lang copying translate/lang/az.py -> build/lib/translate/lang copying translate/lang/ak.py -> build/lib/translate/lang copying translate/lang/ro.py -> build/lib/translate/lang copying translate/lang/su.py -> build/lib/translate/lang copying translate/lang/ml.py -> build/lib/translate/lang copying translate/lang/fr.py -> build/lib/translate/lang copying translate/lang/ngram.py -> build/lib/translate/lang copying translate/lang/ur.py -> build/lib/translate/lang copying translate/lang/zh.py -> build/lib/translate/lang copying translate/lang/fi.py -> build/lib/translate/lang copying translate/lang/dz.py -> build/lib/translate/lang copying translate/lang/ja.py -> build/lib/translate/lang copying translate/lang/ne.py -> build/lib/translate/lang copying translate/lang/zh_hk.py -> build/lib/translate/lang copying translate/lang/team.py -> build/lib/translate/lang copying translate/lang/kw.py -> build/lib/translate/lang copying translate/lang/mr.py -> build/lib/translate/lang copying translate/lang/code_or.py -> build/lib/translate/lang copying translate/lang/ta.py -> build/lib/translate/lang copying translate/lang/sv.py -> build/lib/translate/lang creating build/lib/translate/tools copying translate/tools/pypo2phppo.py -> build/lib/translate/tools copying translate/tools/pocompile.py -> build/lib/translate/tools copying translate/tools/poclean.py -> build/lib/translate/tools copying translate/tools/pocount.py -> build/lib/translate/tools copying translate/tools/pretranslate.py -> build/lib/translate/tools copying translate/tools/pydiff.py -> build/lib/translate/tools copying translate/tools/poconflicts.py -> build/lib/translate/tools copying translate/tools/__init__.py -> build/lib/translate/tools copying translate/tools/junitmsgfmt.py -> build/lib/translate/tools copying translate/tools/podebug.py -> build/lib/translate/tools copying translate/tools/porestructure.py -> build/lib/translate/tools copying translate/tools/phppo2pypo.py -> build/lib/translate/tools copying translate/tools/build_tmdb.py -> build/lib/translate/tools copying translate/tools/poterminology.py -> build/lib/translate/tools copying translate/tools/pogrep.py -> build/lib/translate/tools copying translate/tools/pomerge.py -> build/lib/translate/tools copying translate/tools/poswap.py -> build/lib/translate/tools copying translate/tools/posegment.py -> build/lib/translate/tools creating build/lib/translate/filters copying translate/filters/prefilters.py -> build/lib/translate/filters copying translate/filters/autocorrect.py -> build/lib/translate/filters copying translate/filters/pofilter.py -> build/lib/translate/filters copying translate/filters/decorators.py -> build/lib/translate/filters copying translate/filters/checks.py -> build/lib/translate/filters copying translate/filters/__init__.py -> build/lib/translate/filters copying translate/filters/decoration.py -> build/lib/translate/filters copying translate/filters/helpers.py -> build/lib/translate/filters copying translate/filters/spelling.py -> build/lib/translate/filters creating build/lib/translate/storage copying translate/storage/flatxml.py -> build/lib/translate/storage copying translate/storage/xliff.py -> build/lib/translate/storage copying translate/storage/poxliff.py -> build/lib/translate/storage copying translate/storage/tmdb.py -> build/lib/translate/storage copying translate/storage/ical.py -> build/lib/translate/storage copying translate/storage/fpo.py -> build/lib/translate/storage copying translate/storage/idml.py -> build/lib/translate/storage copying translate/storage/omegat.py -> build/lib/translate/storage copying translate/storage/php.py -> build/lib/translate/storage copying translate/storage/jsonl10n.py -> build/lib/translate/storage copying translate/storage/xml_name.py -> build/lib/translate/storage copying translate/storage/base.py -> build/lib/translate/storage copying translate/storage/mo.py -> build/lib/translate/storage copying translate/storage/resx.py -> build/lib/translate/storage copying translate/storage/workflow.py -> build/lib/translate/storage copying translate/storage/ts.py -> build/lib/translate/storage copying translate/storage/statistics.py -> build/lib/translate/storage copying translate/storage/lisa.py -> build/lib/translate/storage copying translate/storage/tiki.py -> build/lib/translate/storage copying translate/storage/trados.py -> build/lib/translate/storage copying translate/storage/project.py -> build/lib/translate/storage copying translate/storage/tmx.py -> build/lib/translate/storage copying translate/storage/utx.py -> build/lib/translate/storage copying translate/storage/zip.py -> build/lib/translate/storage copying translate/storage/catkeys.py -> build/lib/translate/storage copying translate/storage/dtd.py -> build/lib/translate/storage copying translate/storage/__init__.py -> build/lib/translate/storage copying translate/storage/benchmark.py -> build/lib/translate/storage copying translate/storage/properties.py -> build/lib/translate/storage copying translate/storage/oo.py -> build/lib/translate/storage copying translate/storage/factory.py -> build/lib/translate/storage copying translate/storage/markdown.py -> build/lib/translate/storage copying translate/storage/subtitles.py -> build/lib/translate/storage copying translate/storage/qph.py -> build/lib/translate/storage copying translate/storage/tbx.py -> build/lib/translate/storage copying translate/storage/odf_io.py -> build/lib/translate/storage copying translate/storage/fluent.py -> build/lib/translate/storage copying translate/storage/mozilla_lang.py -> build/lib/translate/storage copying translate/storage/bundleprojstore.py -> build/lib/translate/storage copying translate/storage/pypo.py -> build/lib/translate/storage copying translate/storage/resourcedictionary.py -> build/lib/translate/storage copying translate/storage/projstore.py -> build/lib/translate/storage copying translate/storage/cpo.py -> build/lib/translate/storage copying translate/storage/html.py -> build/lib/translate/storage copying translate/storage/poheader.py -> build/lib/translate/storage copying translate/storage/po.py -> build/lib/translate/storage copying translate/storage/poparser.py -> build/lib/translate/storage copying translate/storage/ini.py -> build/lib/translate/storage copying translate/storage/qm.py -> build/lib/translate/storage copying translate/storage/yaml.py -> build/lib/translate/storage copying translate/storage/stringsdict.py -> build/lib/translate/storage copying translate/storage/wordfast.py -> build/lib/translate/storage copying translate/storage/ts2.py -> build/lib/translate/storage copying translate/storage/odf_shared.py -> build/lib/translate/storage copying translate/storage/csvl10n.py -> build/lib/translate/storage copying translate/storage/txt.py -> build/lib/translate/storage copying translate/storage/rc.py -> build/lib/translate/storage copying translate/storage/symbian.py -> build/lib/translate/storage copying translate/storage/aresource.py -> build/lib/translate/storage copying translate/storage/pocommon.py -> build/lib/translate/storage copying translate/storage/directory.py -> build/lib/translate/storage copying translate/storage/_factory_classes.py -> build/lib/translate/storage creating build/lib/translate/services copying translate/services/__init__.py -> build/lib/translate/services copying translate/services/tmserver.py -> build/lib/translate/services creating build/lib/translate/misc copying translate/misc/ourdom.py -> build/lib/translate/misc copying translate/misc/quote.py -> build/lib/translate/misc copying translate/misc/selector.py -> build/lib/translate/misc copying translate/misc/multistring.py -> build/lib/translate/misc copying translate/misc/progressbar.py -> build/lib/translate/misc copying translate/misc/wsgi.py -> build/lib/translate/misc copying translate/misc/file_discovery.py -> build/lib/translate/misc copying translate/misc/wStringIO.py -> build/lib/translate/misc copying translate/misc/__init__.py -> build/lib/translate/misc copying translate/misc/dictutils.py -> build/lib/translate/misc copying translate/misc/xml_helpers.py -> build/lib/translate/misc copying translate/misc/deprecation.py -> build/lib/translate/misc copying translate/misc/optrecurse.py -> build/lib/translate/misc creating build/lib/translate/convert copying translate/convert/php2po.py -> build/lib/translate/convert copying translate/convert/html2po.py -> build/lib/translate/convert copying translate/convert/csv2tbx.py -> build/lib/translate/convert copying translate/convert/tbx2po.py -> build/lib/translate/convert copying translate/convert/po2flatxml.py -> build/lib/translate/convert copying translate/convert/po2tiki.py -> build/lib/translate/convert copying translate/convert/ts2po.py -> build/lib/translate/convert copying translate/convert/po2tmx.py -> build/lib/translate/convert copying translate/convert/prop2po.py -> build/lib/translate/convert copying translate/convert/po2xliff.py -> build/lib/translate/convert copying translate/convert/ini2po.py -> build/lib/translate/convert copying translate/convert/po2oo.py -> build/lib/translate/convert copying translate/convert/po2ts.py -> build/lib/translate/convert copying translate/convert/po2json.py -> build/lib/translate/convert copying translate/convert/po2rc.py -> build/lib/translate/convert copying translate/convert/oo2po.py -> build/lib/translate/convert copying translate/convert/po2prop.py -> build/lib/translate/convert copying translate/convert/po2resx.py -> build/lib/translate/convert copying translate/convert/tiki2po.py -> build/lib/translate/convert copying translate/convert/po2php.py -> build/lib/translate/convert copying translate/convert/rc2po.py -> build/lib/translate/convert copying translate/convert/po2idml.py -> build/lib/translate/convert copying translate/convert/odf2xliff.py -> build/lib/translate/convert copying translate/convert/md2po.py -> build/lib/translate/convert copying translate/convert/po2wordfast.py -> build/lib/translate/convert copying translate/convert/po2ical.py -> build/lib/translate/convert copying translate/convert/dtd2po.py -> build/lib/translate/convert copying translate/convert/po2md.py -> build/lib/translate/convert copying translate/convert/__init__.py -> build/lib/translate/convert copying translate/convert/moz2po.py -> build/lib/translate/convert copying translate/convert/xliff2odf.py -> build/lib/translate/convert copying translate/convert/po2sub.py -> build/lib/translate/convert copying translate/convert/factory.py -> build/lib/translate/convert copying translate/convert/symb2po.py -> build/lib/translate/convert copying translate/convert/po2csv.py -> build/lib/translate/convert copying translate/convert/xliff2oo.py -> build/lib/translate/convert copying translate/convert/po2mozlang.py -> build/lib/translate/convert copying translate/convert/po2txt.py -> build/lib/translate/convert copying translate/convert/xliff2po.py -> build/lib/translate/convert copying translate/convert/oo2xliff.py -> build/lib/translate/convert copying translate/convert/mozfunny2prop.py -> build/lib/translate/convert copying translate/convert/yaml2po.py -> build/lib/translate/convert copying translate/convert/resx2po.py -> build/lib/translate/convert copying translate/convert/po2symb.py -> build/lib/translate/convert copying translate/convert/pot2po.py -> build/lib/translate/convert copying translate/convert/flatxml2po.py -> build/lib/translate/convert copying translate/convert/po2moz.py -> build/lib/translate/convert copying translate/convert/txt2po.py -> build/lib/translate/convert copying translate/convert/sub2po.py -> build/lib/translate/convert copying translate/convert/json2po.py -> build/lib/translate/convert copying translate/convert/csv2po.py -> build/lib/translate/convert copying translate/convert/web2py2po.py -> build/lib/translate/convert copying translate/convert/ical2po.py -> build/lib/translate/convert copying translate/convert/po2html.py -> build/lib/translate/convert copying translate/convert/accesskey.py -> build/lib/translate/convert copying translate/convert/po2ini.py -> build/lib/translate/convert copying translate/convert/mozlang2po.py -> build/lib/translate/convert copying translate/convert/po2yaml.py -> build/lib/translate/convert copying translate/convert/android2po.py -> build/lib/translate/convert copying translate/convert/po2dtd.py -> build/lib/translate/convert copying translate/convert/po2web2py.py -> build/lib/translate/convert copying translate/convert/prop2mozfunny.py -> build/lib/translate/convert copying translate/convert/convert.py -> build/lib/translate/convert copying translate/convert/idml2po.py -> build/lib/translate/convert creating build/lib/translate/storage/xml_extract copying translate/storage/xml_extract/extract.py -> build/lib/translate/storage/xml_extract copying translate/storage/xml_extract/xpath_breadcrumb.py -> build/lib/translate/storage/xml_extract copying translate/storage/xml_extract/unit_tree.py -> build/lib/translate/storage/xml_extract copying translate/storage/xml_extract/__init__.py -> build/lib/translate/storage/xml_extract copying translate/storage/xml_extract/misc.py -> build/lib/translate/storage/xml_extract copying translate/storage/xml_extract/generate.py -> build/lib/translate/storage/xml_extract creating build/lib/translate/storage/placeables copying translate/storage/placeables/xliff.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/interfaces.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/base.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/lisa.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/strelem.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/__init__.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/parse.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/general.py -> build/lib/translate/storage/placeables copying translate/storage/placeables/terminology.py -> build/lib/translate/storage/placeables running egg_info creating translate_toolkit.egg-info writing translate_toolkit.egg-info/PKG-INFO writing dependency_links to translate_toolkit.egg-info/dependency_links.txt writing entry points to translate_toolkit.egg-info/entry_points.txt writing requirements to translate_toolkit.egg-info/requires.txt writing top-level names to translate_toolkit.egg-info/top_level.txt writing manifest file 'translate_toolkit.egg-info/SOURCES.txt' reading manifest file 'translate_toolkit.egg-info/SOURCES.txt' adding license file 'COPYING' writing manifest file 'translate_toolkit.egg-info/SOURCES.txt' running build_scripts creating build/scripts-3.12 copying tools/pocommentclean -> build/scripts-3.12 copying tools/pocompendium -> build/scripts-3.12 copying tools/pomigrate2 -> build/scripts-3.12 copying tools/popuretext -> build/scripts-3.12 copying tools/poreencode -> build/scripts-3.12 copying tools/posplit -> build/scripts-3.12 installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/translate creating build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/lshtein.py -> build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/__init__.py -> build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/match.py -> build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/terminology.py -> build/bdist.linux-x86_64/wheel/translate/search creating build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh_tw.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ar.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/nqo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/da.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/fa.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/hi.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/pl.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/es.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/pt_BR.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/common.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/hy.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/son.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ve.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/de.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/gu.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/am.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/lo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/gd.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/tr.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/my.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/st.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/af.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/scn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ms.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/he.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/el.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/te.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/data.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/si.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/__init__.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/poedit.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/th.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ko.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/factory.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh_cn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/identify.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/pa.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/kn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/bo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/wo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/nso.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/km.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/vi.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ug.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/code_as.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/bn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/az.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ak.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ro.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/su.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ml.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/fr.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ngram.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ur.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/fi.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/dz.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ja.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ne.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh_hk.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/team.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/kw.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/mr.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/code_or.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ta.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/sv.py -> build/bdist.linux-x86_64/wheel/translate/lang creating build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pypo2phppo.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pocompile.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poclean.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pocount.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pretranslate.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pydiff.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poconflicts.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/__init__.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/junitmsgfmt.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/podebug.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/porestructure.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/phppo2pypo.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/build_tmdb.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poterminology.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pogrep.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pomerge.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poswap.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/posegment.py -> build/bdist.linux-x86_64/wheel/translate/tools creating build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/prefilters.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/autocorrect.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/pofilter.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/decorators.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/checks.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/__init__.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/decoration.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/helpers.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/spelling.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/__version__.py -> build/bdist.linux-x86_64/wheel/translate copying build/lib/translate/__init__.py -> build/bdist.linux-x86_64/wheel/translate creating build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/flatxml.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/xliff.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/poxliff.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/tmdb.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ical.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/fpo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/idml.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/omegat.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/php.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/jsonl10n.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/xml_name.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/base.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/mo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/resx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/workflow.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ts.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/statistics.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/lisa.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/tiki.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/trados.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/project.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/tmx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/utx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/zip.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/catkeys.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/dtd.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/__init__.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/benchmark.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/properties.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/oo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/factory.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/markdown.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/subtitles.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/qph.py -> build/bdist.linux-x86_64/wheel/translate/storage creating build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/extract.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/xpath_breadcrumb.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/unit_tree.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/__init__.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/misc.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/generate.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract creating build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/xliff.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/interfaces.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/base.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/lisa.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/strelem.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/__init__.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/parse.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/general.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/terminology.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/tbx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/odf_io.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/fluent.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/mozilla_lang.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/bundleprojstore.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/pypo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/resourcedictionary.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/projstore.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/cpo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/html.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/poheader.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/po.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/poparser.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ini.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/qm.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/yaml.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/stringsdict.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/wordfast.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ts2.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/odf_shared.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/csvl10n.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/txt.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/rc.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/symbian.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/aresource.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/pocommon.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/directory.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/_factory_classes.py -> build/bdist.linux-x86_64/wheel/translate/storage creating build/bdist.linux-x86_64/wheel/translate/services copying build/lib/translate/services/__init__.py -> build/bdist.linux-x86_64/wheel/translate/services copying build/lib/translate/services/tmserver.py -> build/bdist.linux-x86_64/wheel/translate/services creating build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/ourdom.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/quote.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/selector.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/multistring.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/progressbar.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/wsgi.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/file_discovery.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/wStringIO.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/__init__.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/dictutils.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/xml_helpers.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/deprecation.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/optrecurse.py -> build/bdist.linux-x86_64/wheel/translate/misc creating build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/php2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/html2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/csv2tbx.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/tbx2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2flatxml.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2tiki.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/ts2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2tmx.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/prop2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2xliff.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/ini2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2oo.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2ts.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2json.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2rc.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/oo2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2prop.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2resx.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/tiki2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2php.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/rc2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2idml.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/odf2xliff.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/md2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2wordfast.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2ical.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/dtd2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2md.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/__init__.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/moz2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/xliff2odf.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2sub.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/factory.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/symb2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2csv.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/xliff2oo.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2mozlang.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2txt.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/xliff2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/oo2xliff.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/mozfunny2prop.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/yaml2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/resx2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2symb.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/pot2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/flatxml2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2moz.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/txt2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/sub2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/json2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/csv2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/web2py2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/ical2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2html.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/accesskey.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2ini.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/mozlang2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2yaml.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/android2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2dtd.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2web2py.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/prop2mozfunny.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/convert.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/idml2po.py -> build/bdist.linux-x86_64/wheel/translate/convert running install_egg_info Copying translate_toolkit.egg-info to build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data creating build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.12/pocommentclean -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.12/poreencode -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.12/popuretext -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.12/pomigrate2 -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.12/posplit -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.12/pocompendium -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/pocommentclean to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/poreencode to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/popuretext to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/pomigrate2 to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/posplit to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/pocompendium to 755 creating build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.dist-info/WHEEL creating '/build/reproducible-path/translate-toolkit-3.13.0/.pybuild/cpython3_3.12_translate/.tmp-0pjxre64/translate_toolkit-3.13.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'translate/__init__.py' adding 'translate/__version__.py' adding 'translate/convert/__init__.py' adding 'translate/convert/accesskey.py' adding 'translate/convert/android2po.py' adding 'translate/convert/convert.py' adding 'translate/convert/csv2po.py' adding 'translate/convert/csv2tbx.py' adding 'translate/convert/dtd2po.py' adding 'translate/convert/factory.py' adding 'translate/convert/flatxml2po.py' adding 'translate/convert/html2po.py' adding 'translate/convert/ical2po.py' adding 'translate/convert/idml2po.py' adding 'translate/convert/ini2po.py' adding 'translate/convert/json2po.py' adding 'translate/convert/md2po.py' adding 'translate/convert/moz2po.py' adding 'translate/convert/mozfunny2prop.py' adding 'translate/convert/mozlang2po.py' adding 'translate/convert/odf2xliff.py' adding 'translate/convert/oo2po.py' adding 'translate/convert/oo2xliff.py' adding 'translate/convert/php2po.py' adding 'translate/convert/po2csv.py' adding 'translate/convert/po2dtd.py' adding 'translate/convert/po2flatxml.py' adding 'translate/convert/po2html.py' adding 'translate/convert/po2ical.py' adding 'translate/convert/po2idml.py' adding 'translate/convert/po2ini.py' adding 'translate/convert/po2json.py' adding 'translate/convert/po2md.py' adding 'translate/convert/po2moz.py' adding 'translate/convert/po2mozlang.py' adding 'translate/convert/po2oo.py' adding 'translate/convert/po2php.py' adding 'translate/convert/po2prop.py' adding 'translate/convert/po2rc.py' adding 'translate/convert/po2resx.py' adding 'translate/convert/po2sub.py' adding 'translate/convert/po2symb.py' adding 'translate/convert/po2tiki.py' adding 'translate/convert/po2tmx.py' adding 'translate/convert/po2ts.py' adding 'translate/convert/po2txt.py' adding 'translate/convert/po2web2py.py' adding 'translate/convert/po2wordfast.py' adding 'translate/convert/po2xliff.py' adding 'translate/convert/po2yaml.py' adding 'translate/convert/pot2po.py' adding 'translate/convert/prop2mozfunny.py' adding 'translate/convert/prop2po.py' adding 'translate/convert/rc2po.py' adding 'translate/convert/resx2po.py' adding 'translate/convert/sub2po.py' adding 'translate/convert/symb2po.py' adding 'translate/convert/tbx2po.py' adding 'translate/convert/tiki2po.py' adding 'translate/convert/ts2po.py' adding 'translate/convert/txt2po.py' adding 'translate/convert/web2py2po.py' adding 'translate/convert/xliff2odf.py' adding 'translate/convert/xliff2oo.py' adding 'translate/convert/xliff2po.py' adding 'translate/convert/yaml2po.py' adding 'translate/filters/__init__.py' adding 'translate/filters/autocorrect.py' adding 'translate/filters/checks.py' adding 'translate/filters/decoration.py' adding 'translate/filters/decorators.py' adding 'translate/filters/helpers.py' adding 'translate/filters/pofilter.py' adding 'translate/filters/prefilters.py' adding 'translate/filters/spelling.py' adding 'translate/lang/__init__.py' adding 'translate/lang/af.py' adding 'translate/lang/ak.py' adding 'translate/lang/am.py' adding 'translate/lang/ar.py' adding 'translate/lang/az.py' adding 'translate/lang/bn.py' adding 'translate/lang/bo.py' adding 'translate/lang/code_as.py' adding 'translate/lang/code_or.py' adding 'translate/lang/common.py' adding 'translate/lang/da.py' adding 'translate/lang/data.py' adding 'translate/lang/de.py' adding 'translate/lang/dz.py' adding 'translate/lang/el.py' adding 'translate/lang/es.py' adding 'translate/lang/fa.py' adding 'translate/lang/factory.py' adding 'translate/lang/fi.py' adding 'translate/lang/fr.py' adding 'translate/lang/gd.py' adding 'translate/lang/gu.py' adding 'translate/lang/he.py' adding 'translate/lang/hi.py' adding 'translate/lang/hy.py' adding 'translate/lang/identify.py' adding 'translate/lang/ja.py' adding 'translate/lang/km.py' adding 'translate/lang/kn.py' adding 'translate/lang/ko.py' adding 'translate/lang/kw.py' adding 'translate/lang/lo.py' adding 'translate/lang/ml.py' adding 'translate/lang/mr.py' adding 'translate/lang/ms.py' adding 'translate/lang/my.py' adding 'translate/lang/ne.py' adding 'translate/lang/ngram.py' adding 'translate/lang/nqo.py' adding 'translate/lang/nso.py' adding 'translate/lang/pa.py' adding 'translate/lang/pl.py' adding 'translate/lang/poedit.py' adding 'translate/lang/pt_BR.py' adding 'translate/lang/ro.py' adding 'translate/lang/scn.py' adding 'translate/lang/si.py' adding 'translate/lang/son.py' adding 'translate/lang/st.py' adding 'translate/lang/su.py' adding 'translate/lang/sv.py' adding 'translate/lang/ta.py' adding 'translate/lang/te.py' adding 'translate/lang/team.py' adding 'translate/lang/th.py' adding 'translate/lang/tr.py' adding 'translate/lang/ug.py' adding 'translate/lang/ur.py' adding 'translate/lang/ve.py' adding 'translate/lang/vi.py' adding 'translate/lang/wo.py' adding 'translate/lang/zh.py' adding 'translate/lang/zh_cn.py' adding 'translate/lang/zh_hk.py' adding 'translate/lang/zh_tw.py' adding 'translate/misc/__init__.py' adding 'translate/misc/deprecation.py' adding 'translate/misc/dictutils.py' adding 'translate/misc/file_discovery.py' adding 'translate/misc/multistring.py' adding 'translate/misc/optrecurse.py' adding 'translate/misc/ourdom.py' adding 'translate/misc/progressbar.py' adding 'translate/misc/quote.py' adding 'translate/misc/selector.py' adding 'translate/misc/wStringIO.py' adding 'translate/misc/wsgi.py' adding 'translate/misc/xml_helpers.py' adding 'translate/search/__init__.py' adding 'translate/search/lshtein.py' adding 'translate/search/match.py' adding 'translate/search/terminology.py' adding 'translate/services/__init__.py' adding 'translate/services/tmserver.py' adding 'translate/storage/__init__.py' adding 'translate/storage/_factory_classes.py' adding 'translate/storage/aresource.py' adding 'translate/storage/base.py' adding 'translate/storage/benchmark.py' adding 'translate/storage/bundleprojstore.py' adding 'translate/storage/catkeys.py' adding 'translate/storage/cpo.py' adding 'translate/storage/csvl10n.py' adding 'translate/storage/directory.py' adding 'translate/storage/dtd.py' adding 'translate/storage/factory.py' adding 'translate/storage/flatxml.py' adding 'translate/storage/fluent.py' adding 'translate/storage/fpo.py' adding 'translate/storage/html.py' adding 'translate/storage/ical.py' adding 'translate/storage/idml.py' adding 'translate/storage/ini.py' adding 'translate/storage/jsonl10n.py' adding 'translate/storage/lisa.py' adding 'translate/storage/markdown.py' adding 'translate/storage/mo.py' adding 'translate/storage/mozilla_lang.py' adding 'translate/storage/odf_io.py' adding 'translate/storage/odf_shared.py' adding 'translate/storage/omegat.py' adding 'translate/storage/oo.py' adding 'translate/storage/php.py' adding 'translate/storage/po.py' adding 'translate/storage/pocommon.py' adding 'translate/storage/poheader.py' adding 'translate/storage/poparser.py' adding 'translate/storage/poxliff.py' adding 'translate/storage/project.py' adding 'translate/storage/projstore.py' adding 'translate/storage/properties.py' adding 'translate/storage/pypo.py' adding 'translate/storage/qm.py' adding 'translate/storage/qph.py' adding 'translate/storage/rc.py' adding 'translate/storage/resourcedictionary.py' adding 'translate/storage/resx.py' adding 'translate/storage/statistics.py' adding 'translate/storage/stringsdict.py' adding 'translate/storage/subtitles.py' adding 'translate/storage/symbian.py' adding 'translate/storage/tbx.py' adding 'translate/storage/tiki.py' adding 'translate/storage/tmdb.py' adding 'translate/storage/tmx.py' adding 'translate/storage/trados.py' adding 'translate/storage/ts.py' adding 'translate/storage/ts2.py' adding 'translate/storage/txt.py' adding 'translate/storage/utx.py' adding 'translate/storage/wordfast.py' adding 'translate/storage/workflow.py' adding 'translate/storage/xliff.py' adding 'translate/storage/xml_name.py' adding 'translate/storage/yaml.py' adding 'translate/storage/zip.py' adding 'translate/storage/placeables/__init__.py' adding 'translate/storage/placeables/base.py' adding 'translate/storage/placeables/general.py' adding 'translate/storage/placeables/interfaces.py' adding 'translate/storage/placeables/lisa.py' adding 'translate/storage/placeables/parse.py' adding 'translate/storage/placeables/strelem.py' adding 'translate/storage/placeables/terminology.py' adding 'translate/storage/placeables/xliff.py' adding 'translate/storage/xml_extract/__init__.py' adding 'translate/storage/xml_extract/extract.py' adding 'translate/storage/xml_extract/generate.py' adding 'translate/storage/xml_extract/misc.py' adding 'translate/storage/xml_extract/unit_tree.py' adding 'translate/storage/xml_extract/xpath_breadcrumb.py' adding 'translate/tools/__init__.py' adding 'translate/tools/build_tmdb.py' adding 'translate/tools/junitmsgfmt.py' adding 'translate/tools/phppo2pypo.py' adding 'translate/tools/poclean.py' adding 'translate/tools/pocompile.py' adding 'translate/tools/poconflicts.py' adding 'translate/tools/pocount.py' adding 'translate/tools/podebug.py' adding 'translate/tools/pogrep.py' adding 'translate/tools/pomerge.py' adding 'translate/tools/porestructure.py' adding 'translate/tools/posegment.py' adding 'translate/tools/poswap.py' adding 'translate/tools/poterminology.py' adding 'translate/tools/pretranslate.py' adding 'translate/tools/pydiff.py' adding 'translate/tools/pypo2phppo.py' adding 'translate_toolkit-3.13.0.data/scripts/pocommentclean' adding 'translate_toolkit-3.13.0.data/scripts/pocompendium' adding 'translate_toolkit-3.13.0.data/scripts/pomigrate2' adding 'translate_toolkit-3.13.0.data/scripts/popuretext' adding 'translate_toolkit-3.13.0.data/scripts/poreencode' adding 'translate_toolkit-3.13.0.data/scripts/posplit' adding 'translate_toolkit-3.13.0.dist-info/COPYING' adding 'translate_toolkit-3.13.0.dist-info/METADATA' adding 'translate_toolkit-3.13.0.dist-info/WHEEL' adding 'translate_toolkit-3.13.0.dist-info/entry_points.txt' adding 'translate_toolkit-3.13.0.dist-info/top_level.txt' adding 'translate_toolkit-3.13.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built translate_toolkit-3.13.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" module I: pybuild base:311: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/translate-toolkit-3.13.0/.pybuild/cpython3_3.11_translate * Building wheel... running bdist_wheel running build running build_py running egg_info writing translate_toolkit.egg-info/PKG-INFO writing dependency_links to translate_toolkit.egg-info/dependency_links.txt writing entry points to translate_toolkit.egg-info/entry_points.txt writing requirements to translate_toolkit.egg-info/requires.txt writing top-level names to translate_toolkit.egg-info/top_level.txt reading manifest file 'translate_toolkit.egg-info/SOURCES.txt' adding license file 'COPYING' writing manifest file 'translate_toolkit.egg-info/SOURCES.txt' running build_scripts creating build/scripts-3.11 copying tools/pocommentclean -> build/scripts-3.11 copying tools/pocompendium -> build/scripts-3.11 copying tools/pomigrate2 -> build/scripts-3.11 copying tools/popuretext -> build/scripts-3.11 copying tools/poreencode -> build/scripts-3.11 copying tools/posplit -> build/scripts-3.11 installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/translate creating build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/lshtein.py -> build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/__init__.py -> build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/match.py -> build/bdist.linux-x86_64/wheel/translate/search copying build/lib/translate/search/terminology.py -> build/bdist.linux-x86_64/wheel/translate/search creating build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh_tw.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ar.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/nqo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/da.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/fa.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/hi.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/pl.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/es.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/pt_BR.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/common.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/hy.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/son.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ve.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/de.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/gu.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/am.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/lo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/gd.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/tr.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/my.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/st.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/af.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/scn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ms.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/he.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/el.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/te.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/data.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/si.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/__init__.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/poedit.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/th.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ko.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/factory.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh_cn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/identify.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/pa.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/kn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/bo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/wo.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/nso.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/km.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/vi.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ug.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/code_as.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/bn.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/az.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ak.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ro.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/su.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ml.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/fr.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ngram.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ur.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/fi.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/dz.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ja.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ne.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/zh_hk.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/team.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/kw.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/mr.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/code_or.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/ta.py -> build/bdist.linux-x86_64/wheel/translate/lang copying build/lib/translate/lang/sv.py -> build/bdist.linux-x86_64/wheel/translate/lang creating build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pypo2phppo.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pocompile.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poclean.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pocount.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pretranslate.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pydiff.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poconflicts.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/__init__.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/junitmsgfmt.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/podebug.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/porestructure.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/phppo2pypo.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/build_tmdb.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poterminology.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pogrep.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/pomerge.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/poswap.py -> build/bdist.linux-x86_64/wheel/translate/tools copying build/lib/translate/tools/posegment.py -> build/bdist.linux-x86_64/wheel/translate/tools creating build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/prefilters.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/autocorrect.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/pofilter.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/decorators.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/checks.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/__init__.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/decoration.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/helpers.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/filters/spelling.py -> build/bdist.linux-x86_64/wheel/translate/filters copying build/lib/translate/__version__.py -> build/bdist.linux-x86_64/wheel/translate copying build/lib/translate/__init__.py -> build/bdist.linux-x86_64/wheel/translate creating build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/flatxml.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/xliff.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/poxliff.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/tmdb.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ical.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/fpo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/idml.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/omegat.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/php.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/jsonl10n.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/xml_name.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/base.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/mo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/resx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/workflow.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ts.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/statistics.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/lisa.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/tiki.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/trados.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/project.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/tmx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/utx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/zip.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/catkeys.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/dtd.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/__init__.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/benchmark.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/properties.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/oo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/factory.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/markdown.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/subtitles.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/qph.py -> build/bdist.linux-x86_64/wheel/translate/storage creating build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/extract.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/xpath_breadcrumb.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/unit_tree.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/__init__.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/misc.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract copying build/lib/translate/storage/xml_extract/generate.py -> build/bdist.linux-x86_64/wheel/translate/storage/xml_extract creating build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/xliff.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/interfaces.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/base.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/lisa.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/strelem.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/__init__.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/parse.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/general.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/placeables/terminology.py -> build/bdist.linux-x86_64/wheel/translate/storage/placeables copying build/lib/translate/storage/tbx.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/odf_io.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/fluent.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/mozilla_lang.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/bundleprojstore.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/pypo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/resourcedictionary.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/projstore.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/cpo.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/html.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/poheader.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/po.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/poparser.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ini.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/qm.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/yaml.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/stringsdict.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/wordfast.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/ts2.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/odf_shared.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/csvl10n.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/txt.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/rc.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/symbian.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/aresource.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/pocommon.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/directory.py -> build/bdist.linux-x86_64/wheel/translate/storage copying build/lib/translate/storage/_factory_classes.py -> build/bdist.linux-x86_64/wheel/translate/storage creating build/bdist.linux-x86_64/wheel/translate/services copying build/lib/translate/services/__init__.py -> build/bdist.linux-x86_64/wheel/translate/services copying build/lib/translate/services/tmserver.py -> build/bdist.linux-x86_64/wheel/translate/services creating build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/ourdom.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/quote.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/selector.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/multistring.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/progressbar.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/wsgi.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/file_discovery.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/wStringIO.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/__init__.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/dictutils.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/xml_helpers.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/deprecation.py -> build/bdist.linux-x86_64/wheel/translate/misc copying build/lib/translate/misc/optrecurse.py -> build/bdist.linux-x86_64/wheel/translate/misc creating build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/php2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/html2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/csv2tbx.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/tbx2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2flatxml.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2tiki.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/ts2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2tmx.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/prop2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2xliff.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/ini2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2oo.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2ts.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2json.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2rc.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/oo2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2prop.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2resx.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/tiki2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2php.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/rc2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2idml.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/odf2xliff.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/md2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2wordfast.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2ical.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/dtd2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2md.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/__init__.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/moz2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/xliff2odf.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2sub.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/factory.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/symb2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2csv.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/xliff2oo.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2mozlang.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2txt.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/xliff2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/oo2xliff.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/mozfunny2prop.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/yaml2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/resx2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2symb.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/pot2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/flatxml2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2moz.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/txt2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/sub2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/json2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/csv2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/web2py2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/ical2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2html.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/accesskey.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2ini.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/mozlang2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2yaml.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/android2po.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2dtd.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/po2web2py.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/prop2mozfunny.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/convert.py -> build/bdist.linux-x86_64/wheel/translate/convert copying build/lib/translate/convert/idml2po.py -> build/bdist.linux-x86_64/wheel/translate/convert running install_egg_info Copying translate_toolkit.egg-info to build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data creating build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.11/pocommentclean -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.11/poreencode -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.11/popuretext -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.11/pomigrate2 -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.11/posplit -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts copying build/scripts-3.11/pocompendium -> build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/pocommentclean to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/poreencode to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/popuretext to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/pomigrate2 to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/posplit to 755 changing mode of build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.data/scripts/pocompendium to 755 creating build/bdist.linux-x86_64/wheel/translate_toolkit-3.13.0.dist-info/WHEEL creating '/build/reproducible-path/translate-toolkit-3.13.0/.pybuild/cpython3_3.11_translate/.tmp-is4p3917/translate_toolkit-3.13.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'translate/__init__.py' adding 'translate/__version__.py' adding 'translate/convert/__init__.py' adding 'translate/convert/accesskey.py' adding 'translate/convert/android2po.py' adding 'translate/convert/convert.py' adding 'translate/convert/csv2po.py' adding 'translate/convert/csv2tbx.py' adding 'translate/convert/dtd2po.py' adding 'translate/convert/factory.py' adding 'translate/convert/flatxml2po.py' adding 'translate/convert/html2po.py' adding 'translate/convert/ical2po.py' adding 'translate/convert/idml2po.py' adding 'translate/convert/ini2po.py' adding 'translate/convert/json2po.py' adding 'translate/convert/md2po.py' adding 'translate/convert/moz2po.py' adding 'translate/convert/mozfunny2prop.py' adding 'translate/convert/mozlang2po.py' adding 'translate/convert/odf2xliff.py' adding 'translate/convert/oo2po.py' adding 'translate/convert/oo2xliff.py' adding 'translate/convert/php2po.py' adding 'translate/convert/po2csv.py' adding 'translate/convert/po2dtd.py' adding 'translate/convert/po2flatxml.py' adding 'translate/convert/po2html.py' adding 'translate/convert/po2ical.py' adding 'translate/convert/po2idml.py' adding 'translate/convert/po2ini.py' adding 'translate/convert/po2json.py' adding 'translate/convert/po2md.py' adding 'translate/convert/po2moz.py' adding 'translate/convert/po2mozlang.py' adding 'translate/convert/po2oo.py' adding 'translate/convert/po2php.py' adding 'translate/convert/po2prop.py' adding 'translate/convert/po2rc.py' adding 'translate/convert/po2resx.py' adding 'translate/convert/po2sub.py' adding 'translate/convert/po2symb.py' adding 'translate/convert/po2tiki.py' adding 'translate/convert/po2tmx.py' adding 'translate/convert/po2ts.py' adding 'translate/convert/po2txt.py' adding 'translate/convert/po2web2py.py' adding 'translate/convert/po2wordfast.py' adding 'translate/convert/po2xliff.py' adding 'translate/convert/po2yaml.py' adding 'translate/convert/pot2po.py' adding 'translate/convert/prop2mozfunny.py' adding 'translate/convert/prop2po.py' adding 'translate/convert/rc2po.py' adding 'translate/convert/resx2po.py' adding 'translate/convert/sub2po.py' adding 'translate/convert/symb2po.py' adding 'translate/convert/tbx2po.py' adding 'translate/convert/tiki2po.py' adding 'translate/convert/ts2po.py' adding 'translate/convert/txt2po.py' adding 'translate/convert/web2py2po.py' adding 'translate/convert/xliff2odf.py' adding 'translate/convert/xliff2oo.py' adding 'translate/convert/xliff2po.py' adding 'translate/convert/yaml2po.py' adding 'translate/filters/__init__.py' adding 'translate/filters/autocorrect.py' adding 'translate/filters/checks.py' adding 'translate/filters/decoration.py' adding 'translate/filters/decorators.py' adding 'translate/filters/helpers.py' adding 'translate/filters/pofilter.py' adding 'translate/filters/prefilters.py' adding 'translate/filters/spelling.py' adding 'translate/lang/__init__.py' adding 'translate/lang/af.py' adding 'translate/lang/ak.py' adding 'translate/lang/am.py' adding 'translate/lang/ar.py' adding 'translate/lang/az.py' adding 'translate/lang/bn.py' adding 'translate/lang/bo.py' adding 'translate/lang/code_as.py' adding 'translate/lang/code_or.py' adding 'translate/lang/common.py' adding 'translate/lang/da.py' adding 'translate/lang/data.py' adding 'translate/lang/de.py' adding 'translate/lang/dz.py' adding 'translate/lang/el.py' adding 'translate/lang/es.py' adding 'translate/lang/fa.py' adding 'translate/lang/factory.py' adding 'translate/lang/fi.py' adding 'translate/lang/fr.py' adding 'translate/lang/gd.py' adding 'translate/lang/gu.py' adding 'translate/lang/he.py' adding 'translate/lang/hi.py' adding 'translate/lang/hy.py' adding 'translate/lang/identify.py' adding 'translate/lang/ja.py' adding 'translate/lang/km.py' adding 'translate/lang/kn.py' adding 'translate/lang/ko.py' adding 'translate/lang/kw.py' adding 'translate/lang/lo.py' adding 'translate/lang/ml.py' adding 'translate/lang/mr.py' adding 'translate/lang/ms.py' adding 'translate/lang/my.py' adding 'translate/lang/ne.py' adding 'translate/lang/ngram.py' adding 'translate/lang/nqo.py' adding 'translate/lang/nso.py' adding 'translate/lang/pa.py' adding 'translate/lang/pl.py' adding 'translate/lang/poedit.py' adding 'translate/lang/pt_BR.py' adding 'translate/lang/ro.py' adding 'translate/lang/scn.py' adding 'translate/lang/si.py' adding 'translate/lang/son.py' adding 'translate/lang/st.py' adding 'translate/lang/su.py' adding 'translate/lang/sv.py' adding 'translate/lang/ta.py' adding 'translate/lang/te.py' adding 'translate/lang/team.py' adding 'translate/lang/th.py' adding 'translate/lang/tr.py' adding 'translate/lang/ug.py' adding 'translate/lang/ur.py' adding 'translate/lang/ve.py' adding 'translate/lang/vi.py' adding 'translate/lang/wo.py' adding 'translate/lang/zh.py' adding 'translate/lang/zh_cn.py' adding 'translate/lang/zh_hk.py' adding 'translate/lang/zh_tw.py' adding 'translate/misc/__init__.py' adding 'translate/misc/deprecation.py' adding 'translate/misc/dictutils.py' adding 'translate/misc/file_discovery.py' adding 'translate/misc/multistring.py' adding 'translate/misc/optrecurse.py' adding 'translate/misc/ourdom.py' adding 'translate/misc/progressbar.py' adding 'translate/misc/quote.py' adding 'translate/misc/selector.py' adding 'translate/misc/wStringIO.py' adding 'translate/misc/wsgi.py' adding 'translate/misc/xml_helpers.py' adding 'translate/search/__init__.py' adding 'translate/search/lshtein.py' adding 'translate/search/match.py' adding 'translate/search/terminology.py' adding 'translate/services/__init__.py' adding 'translate/services/tmserver.py' adding 'translate/storage/__init__.py' adding 'translate/storage/_factory_classes.py' adding 'translate/storage/aresource.py' adding 'translate/storage/base.py' adding 'translate/storage/benchmark.py' adding 'translate/storage/bundleprojstore.py' adding 'translate/storage/catkeys.py' adding 'translate/storage/cpo.py' adding 'translate/storage/csvl10n.py' adding 'translate/storage/directory.py' adding 'translate/storage/dtd.py' adding 'translate/storage/factory.py' adding 'translate/storage/flatxml.py' adding 'translate/storage/fluent.py' adding 'translate/storage/fpo.py' adding 'translate/storage/html.py' adding 'translate/storage/ical.py' adding 'translate/storage/idml.py' adding 'translate/storage/ini.py' adding 'translate/storage/jsonl10n.py' adding 'translate/storage/lisa.py' adding 'translate/storage/markdown.py' adding 'translate/storage/mo.py' adding 'translate/storage/mozilla_lang.py' adding 'translate/storage/odf_io.py' adding 'translate/storage/odf_shared.py' adding 'translate/storage/omegat.py' adding 'translate/storage/oo.py' adding 'translate/storage/php.py' adding 'translate/storage/po.py' adding 'translate/storage/pocommon.py' adding 'translate/storage/poheader.py' adding 'translate/storage/poparser.py' adding 'translate/storage/poxliff.py' adding 'translate/storage/project.py' adding 'translate/storage/projstore.py' adding 'translate/storage/properties.py' adding 'translate/storage/pypo.py' adding 'translate/storage/qm.py' adding 'translate/storage/qph.py' adding 'translate/storage/rc.py' adding 'translate/storage/resourcedictionary.py' adding 'translate/storage/resx.py' adding 'translate/storage/statistics.py' adding 'translate/storage/stringsdict.py' adding 'translate/storage/subtitles.py' adding 'translate/storage/symbian.py' adding 'translate/storage/tbx.py' adding 'translate/storage/tiki.py' adding 'translate/storage/tmdb.py' adding 'translate/storage/tmx.py' adding 'translate/storage/trados.py' adding 'translate/storage/ts.py' adding 'translate/storage/ts2.py' adding 'translate/storage/txt.py' adding 'translate/storage/utx.py' adding 'translate/storage/wordfast.py' adding 'translate/storage/workflow.py' adding 'translate/storage/xliff.py' adding 'translate/storage/xml_name.py' adding 'translate/storage/yaml.py' adding 'translate/storage/zip.py' adding 'translate/storage/placeables/__init__.py' adding 'translate/storage/placeables/base.py' adding 'translate/storage/placeables/general.py' adding 'translate/storage/placeables/interfaces.py' adding 'translate/storage/placeables/lisa.py' adding 'translate/storage/placeables/parse.py' adding 'translate/storage/placeables/strelem.py' adding 'translate/storage/placeables/terminology.py' adding 'translate/storage/placeables/xliff.py' adding 'translate/storage/xml_extract/__init__.py' adding 'translate/storage/xml_extract/extract.py' adding 'translate/storage/xml_extract/generate.py' adding 'translate/storage/xml_extract/misc.py' adding 'translate/storage/xml_extract/unit_tree.py' adding 'translate/storage/xml_extract/xpath_breadcrumb.py' adding 'translate/tools/__init__.py' adding 'translate/tools/build_tmdb.py' adding 'translate/tools/junitmsgfmt.py' adding 'translate/tools/phppo2pypo.py' adding 'translate/tools/poclean.py' adding 'translate/tools/pocompile.py' adding 'translate/tools/poconflicts.py' adding 'translate/tools/pocount.py' adding 'translate/tools/podebug.py' adding 'translate/tools/pogrep.py' adding 'translate/tools/pomerge.py' adding 'translate/tools/porestructure.py' adding 'translate/tools/posegment.py' adding 'translate/tools/poswap.py' adding 'translate/tools/poterminology.py' adding 'translate/tools/pretranslate.py' adding 'translate/tools/pydiff.py' adding 'translate/tools/pypo2phppo.py' adding 'translate_toolkit-3.13.0.data/scripts/pocommentclean' adding 'translate_toolkit-3.13.0.data/scripts/pocompendium' adding 'translate_toolkit-3.13.0.data/scripts/pomigrate2' adding 'translate_toolkit-3.13.0.data/scripts/popuretext' adding 'translate_toolkit-3.13.0.data/scripts/poreencode' adding 'translate_toolkit-3.13.0.data/scripts/posplit' adding 'translate_toolkit-3.13.0.dist-info/COPYING' adding 'translate_toolkit-3.13.0.dist-info/METADATA' adding 'translate_toolkit-3.13.0.dist-info/WHEEL' adding 'translate_toolkit-3.13.0.dist-info/entry_points.txt' adding 'translate_toolkit-3.13.0.dist-info/top_level.txt' adding 'translate_toolkit-3.13.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built translate_toolkit-3.13.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with "installer" module debian/rules execute_after_dh_auto_build make[1]: Entering directory '/build/reproducible-path/translate-toolkit-3.13.0' /usr/bin/make -C docs html make[2]: Entering directory '/build/reproducible-path/translate-toolkit-3.13.0/docs' sphinx-build -b html -d _build/doctrees . _build/html Running Sphinx v7.2.6 making output directory... done building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 221 source files that are out of date updating environment: [new config] 221 added, 0 changed, 0 removed reading sources... [ 0%] api/convert reading sources... [ 1%] api/filters reading sources... [ 1%] api/index reading sources... [ 2%] api/lang reading sources... [ 2%] api/misc reading sources... [ 3%] api/search reading sources... [ 3%] api/services reading sources... [ 4%] api/storage reading sources... [ 4%] api/tools reading sources... [ 5%] commands/android2po reading sources... [ 5%] commands/csv2po reading sources... [ 5%] commands/csv2tbx reading sources... [ 6%] commands/flatxml2po reading sources... [ 6%] commands/general_usage reading sources... [ 7%] commands/html2po reading sources... [ 7%] commands/ical2po reading sources... [ 8%] commands/index reading sources... [ 8%] commands/ini2po reading sources... [ 9%] commands/json2po reading sources... [ 9%] commands/junitmsgfmt reading sources... [ 10%] commands/levenshtein_distance reading sources... [ 10%] commands/md2po reading sources... [ 10%] commands/moz2po reading sources... [ 11%] commands/odf2xliff reading sources... [ 11%] commands/oo2po reading sources... [ 12%] commands/option_accelerator reading sources... [ 12%] commands/option_duplicates reading sources... [ 13%] commands/option_errorlevel reading sources... [ 13%] commands/option_filteraction reading sources... [ 14%] commands/option_multifile reading sources... [ 14%] commands/option_personality reading sources... [ 14%] commands/option_progress reading sources... [ 15%] commands/option_rewrite reading sources... [ 15%] commands/phase reading sources... [ 16%] commands/php2po reading sources... [ 16%] commands/po2tmx reading sources... [ 17%] commands/po2wordfast reading sources... [ 17%] commands/poclean reading sources... [ 18%] commands/pocommentclean reading sources... [ 18%] commands/pocompendium reading sources... [ 19%] commands/pocompile reading sources... [ 19%] commands/poconflicts reading sources... [ 19%] commands/pocount reading sources... [ 20%] commands/podebug reading sources... [ 20%] commands/pofilter reading sources... [ 21%] commands/pofilter_tests reading sources... [ 21%] commands/pogrep reading sources... [ 22%] commands/pomerge reading sources... [ 22%] commands/pomigrate2 reading sources... [ 23%] commands/popuretext reading sources... [ 23%] commands/poreencode reading sources... [ 24%] commands/porestructure reading sources... [ 24%] commands/posegment reading sources... [ 24%] commands/posplit reading sources... [ 25%] commands/poswap reading sources... [ 25%] commands/pot2po reading sources... [ 26%] commands/poterminology reading sources... [ 26%] commands/poterminology_stopword_file reading sources... [ 27%] commands/pretranslate reading sources... [ 27%] commands/prop2po reading sources... [ 28%] commands/rc2po reading sources... [ 28%] commands/resx2po reading sources... [ 29%] commands/sub2po reading sources... [ 29%] commands/symb2po reading sources... [ 29%] commands/tbx2po reading sources... [ 30%] commands/tiki2po reading sources... [ 30%] commands/tmserver reading sources... [ 31%] commands/ts2po reading sources... [ 31%] commands/txt2po reading sources... [ 32%] commands/web2py2po reading sources... [ 32%] commands/xliff2po reading sources... [ 33%] commands/yaml2po reading sources... [ 33%] developers/building reading sources... [ 33%] developers/contributing reading sources... [ 34%] developers/deprecation reading sources... [ 34%] developers/developers reading sources... [ 35%] developers/releasing reading sources... [ 35%] developers/reporting_bugs reading sources... [ 36%] developers/styleguide reading sources... [ 36%] developers/testing reading sources... [ 37%] features reading sources... [ 37%] formats/android reading sources... [ 38%] formats/base_classes reading sources... [ 38%] formats/catkeys reading sources... [ 38%] formats/conformance reading sources... [ 39%] formats/csv reading sources... [ 39%] formats/dtd reading sources... [ 40%] formats/flatxml reading sources... [ 40%] formats/flex reading sources... [ 41%] formats/gsi reading sources... [ 41%] formats/html reading sources... [ 42%] formats/ical reading sources... [ 42%] formats/index reading sources... [ 43%] formats/ini reading sources... [ 43%] formats/json reading sources... [ 43%] formats/md reading sources... [ 44%] formats/mo reading sources... [ 44%] formats/mozilla_lang reading sources... [ 45%] formats/odf reading sources... [ 45%] formats/omegat_glossary reading sources... [ 46%] formats/php reading sources... [ 46%] formats/po reading sources... [ 47%] formats/properties reading sources... [ 47%] formats/qm reading sources... [ 48%] formats/qt_phrase_book reading sources... [ 48%] formats/quoting_and_escaping reading sources... [ 48%] formats/rc reading sources... [ 49%] formats/resx reading sources... [ 49%] formats/strings reading sources... [ 50%] formats/subtitles reading sources... [ 50%] formats/tbx reading sources... [ 51%] formats/text reading sources... [ 51%] formats/tmx reading sources... [ 52%] formats/ts reading sources... [ 52%] formats/utx reading sources... [ 52%] formats/wiki reading sources... [ 53%] formats/wml reading sources... [ 53%] formats/wordfast reading sources... [ 54%] formats/xliff reading sources... [ 54%] formats/yaml reading sources... [ 55%] guides/checking_for_inconsistencies reading sources... [ 55%] guides/cleanup_translator_comments reading sources... [ 56%] guides/creating_a_terminology_list_from_your_existing_translations reading sources... [ 56%] guides/document_translation reading sources... [ 57%] guides/index reading sources... [ 57%] guides/migrating_translations reading sources... [ 57%] guides/running_the_tools_on_microsoft_windows reading sources... [ 58%] guides/using_csv2po reading sources... [ 58%] guides/using_oo2po reading sources... [ 59%] guides/using_pofilter reading sources... [ 59%] history reading sources... [ 60%] index reading sources... [ 60%] installation reading sources... [ 61%] license reading sources... [ 61%] releases/0.10 reading sources... [ 62%] releases/0.10.1 reading sources... [ 62%] releases/0.11 reading sources... [ 62%] releases/0.7.1 reading sources... [ 63%] releases/0.8 reading sources... [ 63%] releases/0.9 reading sources... [ 64%] releases/0.9.1 reading sources... [ 64%] releases/0.9.2 reading sources... [ 65%] releases/1.0 reading sources... [ 65%] releases/1.0.1 reading sources... [ 66%] releases/1.1.0 reading sources... [ 66%] releases/1.1.1 reading sources... [ 67%] releases/1.10.0 reading sources... [ 67%] releases/1.11.0 reading sources... [ 67%] releases/1.12.0 reading sources... [ 68%] releases/1.13.0 reading sources... [ 68%] releases/1.2.0 reading sources... [ 69%] releases/1.2.1 reading sources... [ 69%] releases/1.3.0 reading sources... [ 70%] releases/1.4.0 reading sources... [ 70%] releases/1.4.1 reading sources... [ 71%] releases/1.5.0 reading sources... [ 71%] releases/1.5.1 reading sources... [ 71%] releases/1.5.2 reading sources... [ 72%] releases/1.5.3 reading sources... [ 72%] releases/1.6.0 reading sources... [ 73%] releases/1.7.0 reading sources... [ 73%] releases/1.8.0 reading sources... [ 74%] releases/1.8.1 reading sources... [ 74%] releases/1.9.0 reading sources... [ 75%] releases/2.0.0 reading sources... [ 75%] releases/2.1.0 reading sources... [ 76%] releases/2.2.0 reading sources... [ 76%] releases/2.2.1 reading sources... [ 76%] releases/2.2.2 reading sources... [ 77%] releases/2.2.3 reading sources... [ 77%] releases/2.2.4 reading sources... [ 78%] releases/2.2.5 reading sources... [ 78%] releases/2.3.0 reading sources... [ 79%] releases/2.3.1 reading sources... [ 79%] releases/2.4.0 reading sources... [ 80%] releases/2.5.0 reading sources... [ 80%] releases/2.5.1 reading sources... [ 81%] releases/3.0.0 reading sources... [ 81%] releases/3.1.0 reading sources... [ 81%] releases/3.1.1 reading sources... [ 82%] releases/3.10.0 reading sources... [ 82%] releases/3.10.1 reading sources... [ 83%] releases/3.11.0 reading sources... [ 83%] releases/3.11.1 reading sources... [ 84%] releases/3.12.0 reading sources... [ 84%] releases/3.12.1 reading sources... [ 85%] releases/3.12.2 reading sources... [ 85%] releases/3.13.0 reading sources... [ 86%] releases/3.2.0 reading sources... [ 86%] releases/3.3.0 reading sources... [ 86%] releases/3.3.1 reading sources... [ 87%] releases/3.3.2 reading sources... [ 87%] releases/3.3.3 reading sources... [ 88%] releases/3.3.4 reading sources... [ 88%] releases/3.3.5 reading sources... [ 89%] releases/3.3.6 reading sources... [ 89%] releases/3.4.0 reading sources... [ 90%] releases/3.4.1 reading sources... [ 90%] releases/3.5.0 reading sources... [ 90%] releases/3.5.1 reading sources... [ 91%] releases/3.5.2 reading sources... [ 91%] releases/3.5.3 reading sources... [ 92%] releases/3.6.0 reading sources... [ 92%] releases/3.6.1 reading sources... [ 93%] releases/3.6.2 reading sources... [ 93%] releases/3.7.0 reading sources... [ 94%] releases/3.7.1 reading sources... [ 94%] releases/3.7.2 reading sources... [ 95%] releases/3.7.3 reading sources... [ 95%] releases/3.7.4 reading sources... [ 95%] releases/3.8.0 reading sources... [ 96%] releases/3.8.1 reading sources... [ 96%] releases/3.8.2 reading sources... [ 97%] releases/3.8.3 reading sources... [ 97%] releases/3.8.4 reading sources... [ 98%] releases/3.8.5 reading sources... [ 98%] releases/3.8.6 reading sources... [ 99%] releases/3.9.0 reading sources... [ 99%] releases/3.9.1 reading sources... [100%] releases/3.9.2 reading sources... [100%] releases/index WARNING: autodoc: failed to import module 'cpo' from module 'translate.storage'; the following exception was raised: gettext PO library not found WARNING: autodoc: failed to import module 'fpo' from module 'translate.storage'; the following exception was raised: gettext PO library not found looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... done copying extra files... done done writing output... [ 0%] api/convert writing output... [ 1%] api/filters writing output... [ 1%] api/index writing output... [ 2%] api/lang writing output... [ 2%] api/misc writing output... [ 3%] api/search writing output... [ 3%] api/services writing output... [ 4%] api/storage writing output... [ 4%] api/tools writing output... [ 5%] commands/android2po writing output... [ 5%] commands/csv2po writing output... [ 5%] commands/csv2tbx writing output... [ 6%] commands/flatxml2po writing output... [ 6%] commands/general_usage writing output... [ 7%] commands/html2po writing output... [ 7%] commands/ical2po writing output... [ 8%] commands/index writing output... [ 8%] commands/ini2po writing output... [ 9%] commands/json2po writing output... [ 9%] commands/junitmsgfmt writing output... [ 10%] commands/levenshtein_distance writing output... [ 10%] commands/md2po writing output... [ 10%] commands/moz2po writing output... [ 11%] commands/odf2xliff writing output... [ 11%] commands/oo2po writing output... [ 12%] commands/option_accelerator writing output... [ 12%] commands/option_duplicates writing output... [ 13%] commands/option_errorlevel writing output... [ 13%] commands/option_filteraction writing output... [ 14%] commands/option_multifile writing output... [ 14%] commands/option_personality writing output... [ 14%] commands/option_progress writing output... [ 15%] commands/option_rewrite writing output... [ 15%] commands/phase writing output... [ 16%] commands/php2po writing output... [ 16%] commands/po2tmx writing output... [ 17%] commands/po2wordfast writing output... [ 17%] commands/poclean writing output... [ 18%] commands/pocommentclean writing output... [ 18%] commands/pocompendium writing output... [ 19%] commands/pocompile writing output... [ 19%] commands/poconflicts writing output... [ 19%] commands/pocount writing output... [ 20%] commands/podebug writing output... [ 20%] commands/pofilter writing output... [ 21%] commands/pofilter_tests writing output... [ 21%] commands/pogrep writing output... [ 22%] commands/pomerge writing output... [ 22%] commands/pomigrate2 writing output... [ 23%] commands/popuretext writing output... [ 23%] commands/poreencode writing output... [ 24%] commands/porestructure writing output... [ 24%] commands/posegment writing output... [ 24%] commands/posplit writing output... [ 25%] commands/poswap writing output... [ 25%] commands/pot2po writing output... [ 26%] commands/poterminology writing output... [ 26%] commands/poterminology_stopword_file writing output... [ 27%] commands/pretranslate writing output... [ 27%] commands/prop2po writing output... [ 28%] commands/rc2po writing output... [ 28%] commands/resx2po writing output... [ 29%] commands/sub2po writing output... [ 29%] commands/symb2po writing output... [ 29%] commands/tbx2po writing output... [ 30%] commands/tiki2po writing output... [ 30%] commands/tmserver writing output... [ 31%] commands/ts2po writing output... [ 31%] commands/txt2po writing output... [ 32%] commands/web2py2po writing output... [ 32%] commands/xliff2po writing output... [ 33%] commands/yaml2po writing output... [ 33%] developers/building writing output... [ 33%] developers/contributing writing output... [ 34%] developers/deprecation writing output... [ 34%] developers/developers writing output... [ 35%] developers/releasing writing output... [ 35%] developers/reporting_bugs writing output... [ 36%] developers/styleguide writing output... [ 36%] developers/testing writing output... [ 37%] features writing output... [ 37%] formats/android writing output... [ 38%] formats/base_classes writing output... [ 38%] formats/catkeys writing output... [ 38%] formats/conformance writing output... [ 39%] formats/csv writing output... [ 39%] formats/dtd writing output... [ 40%] formats/flatxml writing output... [ 40%] formats/flex writing output... [ 41%] formats/gsi writing output... [ 41%] formats/html writing output... [ 42%] formats/ical writing output... [ 42%] formats/index writing output... [ 43%] formats/ini writing output... [ 43%] formats/json writing output... [ 43%] formats/md writing output... [ 44%] formats/mo writing output... [ 44%] formats/mozilla_lang writing output... [ 45%] formats/odf writing output... [ 45%] formats/omegat_glossary writing output... [ 46%] formats/php writing output... [ 46%] formats/po writing output... [ 47%] formats/properties writing output... [ 47%] formats/qm writing output... [ 48%] formats/qt_phrase_book writing output... [ 48%] formats/quoting_and_escaping writing output... [ 48%] formats/rc writing output... [ 49%] formats/resx writing output... [ 49%] formats/strings writing output... [ 50%] formats/subtitles writing output... [ 50%] formats/tbx writing output... [ 51%] formats/text writing output... [ 51%] formats/tmx writing output... [ 52%] formats/ts writing output... [ 52%] formats/utx writing output... [ 52%] formats/wiki writing output... [ 53%] formats/wml writing output... [ 53%] formats/wordfast writing output... [ 54%] formats/xliff writing output... [ 54%] formats/yaml writing output... [ 55%] guides/checking_for_inconsistencies writing output... [ 55%] guides/cleanup_translator_comments writing output... [ 56%] guides/creating_a_terminology_list_from_your_existing_translations writing output... [ 56%] guides/document_translation writing output... [ 57%] guides/index writing output... [ 57%] guides/migrating_translations writing output... [ 57%] guides/running_the_tools_on_microsoft_windows writing output... [ 58%] guides/using_csv2po writing output... [ 58%] guides/using_oo2po writing output... [ 59%] guides/using_pofilter writing output... [ 59%] history writing output... [ 60%] index writing output... [ 60%] installation writing output... [ 61%] license writing output... [ 61%] releases/0.10 writing output... [ 62%] releases/0.10.1 writing output... [ 62%] releases/0.11 writing output... [ 62%] releases/0.7.1 writing output... [ 63%] releases/0.8 writing output... [ 63%] releases/0.9 writing output... [ 64%] releases/0.9.1 writing output... [ 64%] releases/0.9.2 writing output... [ 65%] releases/1.0 writing output... [ 65%] releases/1.0.1 writing output... [ 66%] releases/1.1.0 writing output... [ 66%] releases/1.1.1 writing output... [ 67%] releases/1.10.0 writing output... [ 67%] releases/1.11.0 writing output... [ 67%] releases/1.12.0 writing output... [ 68%] releases/1.13.0 writing output... [ 68%] releases/1.2.0 writing output... [ 69%] releases/1.2.1 writing output... [ 69%] releases/1.3.0 writing output... [ 70%] releases/1.4.0 writing output... [ 70%] releases/1.4.1 writing output... [ 71%] releases/1.5.0 writing output... [ 71%] releases/1.5.1 writing output... [ 71%] releases/1.5.2 writing output... [ 72%] releases/1.5.3 writing output... [ 72%] releases/1.6.0 writing output... [ 73%] releases/1.7.0 writing output... [ 73%] releases/1.8.0 writing output... [ 74%] releases/1.8.1 writing output... [ 74%] releases/1.9.0 writing output... [ 75%] releases/2.0.0 writing output... [ 75%] releases/2.1.0 writing output... [ 76%] releases/2.2.0 writing output... [ 76%] releases/2.2.1 writing output... [ 76%] releases/2.2.2 writing output... [ 77%] releases/2.2.3 writing output... [ 77%] releases/2.2.4 writing output... [ 78%] releases/2.2.5 writing output... [ 78%] releases/2.3.0 writing output... [ 79%] releases/2.3.1 writing output... [ 79%] releases/2.4.0 writing output... [ 80%] releases/2.5.0 writing output... [ 80%] releases/2.5.1 writing output... [ 81%] releases/3.0.0 writing output... [ 81%] releases/3.1.0 writing output... [ 81%] releases/3.1.1 writing output... [ 82%] releases/3.10.0 writing output... [ 82%] releases/3.10.1 writing output... [ 83%] releases/3.11.0 writing output... [ 83%] releases/3.11.1 writing output... [ 84%] releases/3.12.0 writing output... [ 84%] releases/3.12.1 writing output... [ 85%] releases/3.12.2 writing output... [ 85%] releases/3.13.0 writing output... [ 86%] releases/3.2.0 writing output... [ 86%] releases/3.3.0 writing output... [ 86%] releases/3.3.1 writing output... [ 87%] releases/3.3.2 writing output... [ 87%] releases/3.3.3 writing output... [ 88%] releases/3.3.4 writing output... [ 88%] releases/3.3.5 writing output... [ 89%] releases/3.3.6 writing output... [ 89%] releases/3.4.0 writing output... [ 90%] releases/3.4.1 writing output... [ 90%] releases/3.5.0 writing output... [ 90%] releases/3.5.1 writing output... [ 91%] releases/3.5.2 writing output... [ 91%] releases/3.5.3 writing output... [ 92%] releases/3.6.0 writing output... [ 92%] releases/3.6.1 writing output... [ 93%] releases/3.6.2 writing output... [ 93%] releases/3.7.0 writing output... [ 94%] releases/3.7.1 writing output... [ 94%] releases/3.7.2 writing output... [ 95%] releases/3.7.3 writing output... [ 95%] releases/3.7.4 writing output... [ 95%] releases/3.8.0 writing output... [ 96%] releases/3.8.1 writing output... [ 96%] releases/3.8.2 writing output... [ 97%] releases/3.8.3 writing output... [ 97%] releases/3.8.4 writing output... [ 98%] releases/3.8.5 writing output... [ 98%] releases/3.8.6 writing output... [ 99%] releases/3.9.0 writing output... [ 99%] releases/3.9.1 writing output... [100%] releases/3.9.2 writing output... [100%] releases/index /build/reproducible-path/translate-toolkit-3.13.0/docs/commands/pofilter_tests.rst:9: WARNING: undefined label: 'pootle:checks' /build/reproducible-path/translate-toolkit-3.13.0/docs/commands/pofilter_tests.rst:114: WARNING: undefined label: 'guide:accelerators' /build/reproducible-path/translate-toolkit-3.13.0/docs/commands/pofilter_tests.rst:756: WARNING: unknown document: 'guide:guide/translation/html' /build/reproducible-path/translate-toolkit-3.13.0/docs/commands/poterminology.rst:81: WARNING: undefined label: 'pootle:terminology' /build/reproducible-path/translate-toolkit-3.13.0/docs/developers/testing.rst:51: WARNING: undefined label: 'pytest:skipif' /build/reproducible-path/translate-toolkit-3.13.0/docs/developers/testing.rst:76: WARNING: undefined label: 'pytest:xfail' /build/reproducible-path/translate-toolkit-3.13.0/docs/formats/quoting_and_escaping.rst:25: WARNING: unknown document: 'guide:guide/translation/escaping' /build/reproducible-path/translate-toolkit-3.13.0/docs/formats/xliff.rst:74: WARNING: unknown document: 'guide:guide/tools/xliff_support_by_ms_windows_programs' /build/reproducible-path/translate-toolkit-3.13.0/docs/releases/1.2.0.rst:38: WARNING: undefined label: 'guide:valid-accelerators' generating indices... genindex py-modindex done writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 11 warnings. The HTML pages are in _build/html. Build finished. The HTML pages are in _build/html. make[2]: Leaving directory '/build/reproducible-path/translate-toolkit-3.13.0/docs' make[1]: Leaving directory '/build/reproducible-path/translate-toolkit-3.13.0' dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/translate-toolkit-3.13.0/.pybuild/cpython3_3.12_translate/build; python3.12 -m pytest -rsx -v . ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.1.2, pluggy-1.5.0 -- /usr/bin/python3.12 cachedir: .pytest_cache rootdir: /build/reproducible-path/translate-toolkit-3.13.0 configfile: pytest.ini plugins: syrupy-4.6.1 collecting ... collected 3334 items / 2 skipped tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] tests/translate/filters/test_checks.py::test_long PASSED [ 33%] tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_options PASSED [ 33%] tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] tests/translate/filters/test_checks.py::test_short PASSED [ 33%] tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] tests/translate/filters/test_checks.py::test_category PASSED [ 34%] tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] tests/translate/lang/test_common.py::test_characters PASSED [ 36%] tests/translate/lang/test_common.py::test_words PASSED [ 36%] tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] tests/translate/lang/test_team.py::test_simple PASSED [ 38%] tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 41%] tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 41%] tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 41%] tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 49%] tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] ================================== XFAILURES =================================== _______________ TestDTD2PO.test_accelerator_keys_not_in_sentence _______________ self = @mark.xfail(reason="Not Implemented") def test_accelerator_keys_not_in_sentence(self): """Tests to ensure that we can manage accelerator keys that are not part of the transated sentence eg in Chinese.""" dtdtemplate = """ """ dtdlanguage = """ """ pofile = self.dtd2po(dtdlanguage, dtdtemplate) print(pofile) > expected_target = "使用自動捲動(&Autoscrolling)".decode("utf-8") E AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'? tests/translate/convert/test_dtd2po.py:347: AttributeError ----------------------------- Captured stdout call ----------------------------- ___________ TestDTD2POCommand.test_accelerator_keys_not_in_sentence ____________ self = @mark.xfail(reason="Not Implemented") def test_accelerator_keys_not_in_sentence(self): """Tests to ensure that we can manage accelerator keys that are not part of the transated sentence eg in Chinese.""" dtdtemplate = """ """ dtdlanguage = """ """ pofile = self.dtd2po(dtdlanguage, dtdtemplate) print(pofile) > expected_target = "使用自動捲動(&Autoscrolling)".decode("utf-8") E AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'? tests/translate/convert/test_dtd2po.py:347: AttributeError ----------------------------- Captured stdout call ----------------------------- ________________ TestPO2Php.test_merging_propertyless_template _________________ self = @mark.xfail(reason="Need to review if we want this behaviour") def test_merging_propertyless_template(self): """Check that when merging with a template with no property values that we copy the template.""" posource = "" proptemplate = "# A comment\n" propexpected = proptemplate > propfile = self.merge2prop(proptemplate, posource) E AttributeError: 'TestPO2Php' object has no attribute 'merge2prop'. Did you mean: 'merge2php'? tests/translate/convert/test_po2php.py:383: AttributeError _____________ TestPO2PhpCommand.test_merging_propertyless_template _____________ self = @mark.xfail(reason="Need to review if we want this behaviour") def test_merging_propertyless_template(self): """Check that when merging with a template with no property values that we copy the template.""" posource = "" proptemplate = "# A comment\n" propexpected = proptemplate > propfile = self.merge2prop(proptemplate, posource) E AttributeError: 'TestPO2PhpCommand' object has no attribute 'merge2prop'. Did you mean: 'merge2php'? tests/translate/convert/test_po2php.py:383: AttributeError _____________________ TestPOT2PO.test_merging_msgid_change _____________________ self = @mark.xfail(reason="Not implemented - review if this is even correct") def test_merging_msgid_change(self): """Tests that if the msgid changes but the location stays the same that we merge.""" potsource = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" posource = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([, , ]) E + where [, , ] = .units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- _________________ TestPOT2PO.test_merging_accelerator_changes __________________ self = @mark.xfail(reason="Not Implemented - needs review") def test_merging_accelerator_changes(self): """Test that a change in the accelerator localtion still allows merging.""" potsource = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" posource = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([, , ]) E + where [, , ] = .units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- ____________________ TestPOT2PO.test_lines_cut_differently _____________________ self = @mark.xfail(reason="Not Implemented - review if this is even correct") def test_lines_cut_differently(self): """Checks that the correct formatting is preserved when pot an po lines differ.""" potsource = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) posource = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.convertpot(potsource, posource) newpounit = self.singleunit(newpo) > assert str(newpounit) == posource E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/convert/test_pot2po.py:201: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" _________________ TestPOT2POCommand.test_merging_msgid_change __________________ self = @mark.xfail(reason="Not implemented - review if this is even correct") def test_merging_msgid_change(self): """Tests that if the msgid changes but the location stays the same that we merge.""" potsource = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" posource = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([, , ]) E + where [, , ] = .units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- ______________ TestPOT2POCommand.test_merging_accelerator_changes ______________ self = @mark.xfail(reason="Not Implemented - needs review") def test_merging_accelerator_changes(self): """Test that a change in the accelerator localtion still allows merging.""" potsource = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" posource = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([, , ]) E + where [, , ] = .units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- _________________ TestPOT2POCommand.test_lines_cut_differently _________________ self = @mark.xfail(reason="Not Implemented - review if this is even correct") def test_lines_cut_differently(self): """Checks that the correct formatting is preserved when pot an po lines differ.""" potsource = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) posource = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.convertpot(potsource, posource) newpounit = self.singleunit(newpo) > assert str(newpounit) == posource E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/convert/test_pot2po.py:201: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" ________________________ TestYAML2PO.test_no_duplicates ________________________ self = input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: > self._original = self.yaml.load(input) translate/storage/yaml.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/ruamel/yaml/main.py:453: in load return constructor.get_single_data() /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:116: in get_single_data return self.construct_document(node) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:125: in construct_document for _dummy in generator: /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1476: in construct_yaml_map self.construct_mapping(node, data, deep=True) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1366: in construct_mapping if self.check_mapping_key(node, key_node, maptyp, key, value): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = MappingNode(tag='tag:yaml.org,2002:map', value=[(ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag=...'bar')), (ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag='tag:yaml.org,2002:str', value='baz'))]) key_node = ScalarNode(tag='tag:yaml.org,2002:str', value='foo') mapping = {'foo': 'bar'}, key = 'foo', value = 'baz' def check_mapping_key( self, node: Any, key_node: Any, mapping: Any, key: Any, value: Any, ) -> bool: """return True if key is unique""" if key in mapping: if not self.allow_duplicate_keys: mk = mapping.get(key) args = [ 'while constructing a mapping', node.start_mark, f'found duplicate key "{key}" with value "{value}" ' f'(original value: "{mk}")', key_node.start_mark, """ To suppress this check see: http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys """, """\ Duplicate keys will become an error in future releases, and are errors by default when using the new API. """, ] if self.allow_duplicate_keys is None: warnings.warn(DuplicateKeyFutureWarning(*args), stacklevel=1) else: > raise DuplicateKeyError(*args) E ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping E in "", line 2, column 1: E foo: bar E ^ (line: 2) E found duplicate key "foo" with value "baz" (original value: "bar") E in "", line 3, column 1: E foo: baz E ^ (line: 3) E E To suppress this check see: E http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:278: DuplicateKeyError During handling of the above exception, another exception occurred: self = @pytest.mark.xfail(reason="This is invalid YAML document") def test_no_duplicates(self): """Check converting drops duplicates.""" input_string = """ foo: bar foo: baz """ > target_store = self._convert_to_store(input_string) tests/translate/convert/test_yaml2po.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/translate/convert/test_yaml2po.py:36: in _convert_to_store return self._convert(*args, **kwargs)[0] tests/translate/convert/test_yaml2po.py:28: in _convert converter = self.ConverterClass( translate/convert/yaml2po.py:51: in __init__ self.source_store = self.SourceStoreClass(input_file) translate/storage/yaml.py:93: in __init__ self.parse(inputfile) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: self._original = self.yaml.load(input) except YAMLError as e: message = getattr(e, "problem", getattr(e, "message", str(e))) if hasattr(e, "problem_mark"): message += f" {e.problem_mark}" > raise base.ParseError(message) E translate.storage.base.ParseError: 'found duplicate key "foo" with value "baz" (original value: "bar") in "", line 3, column 1:\n foo: baz\n ^ (line: 3)' translate/storage/yaml.py:168: ParseError ____________________ TestYAML2POCommand.test_no_duplicates _____________________ self = input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: > self._original = self.yaml.load(input) translate/storage/yaml.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/ruamel/yaml/main.py:453: in load return constructor.get_single_data() /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:116: in get_single_data return self.construct_document(node) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:125: in construct_document for _dummy in generator: /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1476: in construct_yaml_map self.construct_mapping(node, data, deep=True) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1366: in construct_mapping if self.check_mapping_key(node, key_node, maptyp, key, value): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = node = MappingNode(tag='tag:yaml.org,2002:map', value=[(ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag=...'bar')), (ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag='tag:yaml.org,2002:str', value='baz'))]) key_node = ScalarNode(tag='tag:yaml.org,2002:str', value='foo') mapping = {'foo': 'bar'}, key = 'foo', value = 'baz' def check_mapping_key( self, node: Any, key_node: Any, mapping: Any, key: Any, value: Any, ) -> bool: """return True if key is unique""" if key in mapping: if not self.allow_duplicate_keys: mk = mapping.get(key) args = [ 'while constructing a mapping', node.start_mark, f'found duplicate key "{key}" with value "{value}" ' f'(original value: "{mk}")', key_node.start_mark, """ To suppress this check see: http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys """, """\ Duplicate keys will become an error in future releases, and are errors by default when using the new API. """, ] if self.allow_duplicate_keys is None: warnings.warn(DuplicateKeyFutureWarning(*args), stacklevel=1) else: > raise DuplicateKeyError(*args) E ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping E in "", line 2, column 1: E foo: bar E ^ (line: 2) E found duplicate key "foo" with value "baz" (original value: "bar") E in "", line 3, column 1: E foo: baz E ^ (line: 3) E E To suppress this check see: E http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:278: DuplicateKeyError During handling of the above exception, another exception occurred: self = @pytest.mark.xfail(reason="This is invalid YAML document") def test_no_duplicates(self): """Check converting drops duplicates.""" input_string = """ foo: bar foo: baz """ > target_store = self._convert_to_store(input_string) tests/translate/convert/test_yaml2po.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/translate/convert/test_yaml2po.py:36: in _convert_to_store return self._convert(*args, **kwargs)[0] tests/translate/convert/test_yaml2po.py:28: in _convert converter = self.ConverterClass( translate/convert/yaml2po.py:51: in __init__ self.source_store = self.SourceStoreClass(input_file) translate/storage/yaml.py:93: in __init__ self.parse(inputfile) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: self._original = self.yaml.load(input) except YAMLError as e: message = getattr(e, "problem", getattr(e, "message", str(e))) if hasattr(e, "problem_mark"): message += f" {e.problem_mark}" > raise base.ParseError(message) E translate.storage.base.ParseError: 'found duplicate key "foo" with value "baz" (original value: "bar") in "", line 3, column 1:\n foo: baz\n ^ (line: 3)' translate/storage/yaml.py:168: ParseError __________________________ test_acceleratedvariables ___________________________ @mark.xfail(reason="Accelerated variables needs a better implementation") def test_acceleratedvariables(): """Test for accelerated variables.""" # FIXME: disabled since acceleratedvariables has been removed, but these checks are still needed mozillachecker = checks.MozillaChecker() > assert fails(mozillachecker.acceleratedvariables, "%S &Options", "&%S Ikhetho") E AttributeError: 'MozillaChecker' object has no attribute 'acceleratedvariables' tests/translate/filters/test_checks.py:206: AttributeError ___________________________ test_musttranslatewords ____________________________ @mark.xfail(reason="FIXME: All fails() tests are not working") def test_musttranslatewords(): """Tests stopwords.""" stdchecker = checks.StandardChecker(checks.CheckerConfig(musttranslatewords=[])) assert passes( stdchecker.musttranslatewords, "This uses Mozilla of course", "hierdie gebruik le mozille natuurlik", ) stdchecker = checks.StandardChecker( checks.CheckerConfig(musttranslatewords=["Mozilla"]) ) assert passes( stdchecker.musttranslatewords, "This uses Mozilla of course", "hierdie gebruik le mozille natuurlik", ) > assert fails( stdchecker.musttranslatewords, "This uses Mozilla of course", "hierdie gebruik Mozilla natuurlik", ) E AssertionError: assert False E + where False = fails(>, 'This uses Mozilla of course', 'hierdie gebruik Mozilla natuurlik') E + where > = .musttranslatewords tests/translate/filters/test_checks.py:612: AssertionError __________ test_persian_single_and_double_quote_fail_at_the_same_time __________ @mark.xfail(reason="Bug #3408") def test_persian_single_and_double_quote_fail_at_the_same_time(): """Test Persian single and double quote failures in string with single quotes.""" checker = checks.StandardChecker(checks.CheckerConfig(targetlanguage="fa")) # With single quote check. assert fails(checker.singlequoting, "Path: '%S'", "مسیر: '%S'‎") > assert fails(checker.singlequoting, "Path: '%S'", 'مسیر: "%S"‎') E assert False E + where False = fails(>, "Path: '%S'", 'مسیر: "%S"\u200e') E + where > = .singlequoting tests/translate/filters/test_checks.py:1271: AssertionError ____________________ test_bengali_mozilla_inverted_xmltags _____________________ @mark.xfail(reason="Bug #3506") def test_bengali_mozilla_inverted_xmltags(): """Test Bengali Mozilla XML tags.""" bn_mozilla_checker = checks.MozillaChecker( checkerconfig=checks.CheckerConfig(targetlanguage="bn") ) str_en = """We co-founded the WHAT-WG to.""" str_bn = """এর প্রচলন ঘটাতে আমরা WHAT-WG প্রতিষ্ঠায় সহযোগী ছিলাম।ন।""" > assert passes(bn_mozilla_checker.xmltags, str_en, str_bn) E assert False E + where False = passes(>, 'We co-founded the WHAT-WG to.', 'এর প্রচলন ঘটাতে আমরা WHAT-WG প্রতিষ্ঠায় সহযোগী ছিলাম।ন।') E + where > = .xmltags tests/translate/filters/test_checks.py:2065: AssertionError _______________________________ test_word_khmer ________________________________ @mark.xfail( reason="ZWS is not considered a space in Python 2.6+. Khmer " "should extend words() to include \\u200b in addition to " "other word breakers." ) def test_word_khmer(): language = common.Common # Let's test Khmer with zero width space (\u200b) words = language.words("ផ្ដល់\u200bយោបល់") print("ផ្ដល់\u200bយោបល់") print(language.words("ផ្ដល់<200b>យោបល់")) print(["ផ្ដល់", "យោបល់"]) > assert words == ["ផ្ដល់", "យោបល់"] E AssertionError: assert ['ផ្ដល់\u200bយោបល់'] == ['ផ្ដល់', 'យោបល់'] E E At index 0 diff: 'ផ្ដល់\u200bយោបល់' != 'ផ្ដល់' E Right contains one more item: 'យោបល់' E E Full diff: E [ E + 'ផ្ដល់\u200bយោបល់',... E E ...Full output truncated (3 lines hidden), use '-vv' to show tests/translate/lang/test_common.py:47: AssertionError ----------------------------- Captured stdout call ----------------------------- ផ្ដល់​យោបល់ ['ផ្ដល់<200b>យោបល់'] ['ផ្ដល់', 'យោបល់'] __________________ TestConverters.test_to_general_placeables ___________________ self = @mark.xfail(reason="Test needs fixing, disabled for now") def test_to_general_placeables(self): basetree = base.to_base_placeables(self.elem) gentree = general.to_general_placeables(basetree) > assert gentree == self.elem E assert '])>])> == '])>])> E E Full diff: E - , '])>, , '])>])> E ? ^^^ E + , '])>, , '])>])> E ? ^^^^^^ tests/translate/storage/placeables/test_base.py:209: AssertionError ___________________ TestConverters.test_to_xliff_placeables ____________________ self = @mark.xfail(reason="Test needs fixing, disabled for now") def test_to_xliff_placeables(self): basetree = base.to_base_placeables(self.elem) xliff_from_base = xliff.to_xliff_placeables(basetree) > assert str(xliff_from_base) != str(self.elem) E assert 'Ģët &brandLong;' != 'Ģët &brandLong;' E + where 'Ģët &brandLong;' = str(, '])>, , '])>])>) E + and 'Ģët &brandLong;' = str(, '])>, , '])>])>) E + where , '])>, , '])>])> = .elem tests/translate/storage/placeables/test_base.py:215: AssertionError _____________________ test_quotefordtd_unimplemented_cases _____________________ @mark.xfail(reason="Not Implemented") def test_quotefordtd_unimplemented_cases(): """Test unimplemented quoting DTD cases.""" > assert dtd.quotefordtd("Between

and

") == ( '"Between <p> and </p>"' ) E assert '"Between

and

"' == '"Between <...d </p>"' E E - "Between <p> and </p>" E + "Between

and

" tests/translate/storage/test_dtd.py:72: AssertionError ___________________ test_unquotefromdtd_unimplemented_cases ____________________ @mark.xfail(reason="Not Implemented") def test_unquotefromdtd_unimplemented_cases(): """Test unimplemented unquoting DTD cases.""" > assert dtd.unquotefromdtd('"<p> and </p>"') == "

and

" E AssertionError: assert '<p> and </p>' == '

and

' E E -

and

E + <p> and </p> tests/translate/storage/test_dtd.py:103: AssertionError ________________________ TestDTD.test_comment_following ________________________ self = @mark.xfail(reason="Not Implemented") def test_comment_following(self): """Check that comments that appear after and entity are not pushed onto another line.""" dtdsource = ' ' dtdregen = self.dtdregen(dtdsource) > assert dtdsource == dtdregen E assert '' == ' E - E - tests/translate/storage/test_dtd.py:344: AssertionError _________________________ TestDTD.test_invalid_quoting _________________________ self = @mark.xfail(reason="Not Implemented") def test_invalid_quoting(self): """Checks that invalid quoting doesn't work - quotes can't be reopened.""" # TODO: we should rather raise an error dtdsource = '\n' assert ( dtd.unquotefromdtd(dtdsource[dtdsource.find('"') :]) == "bananas for sale" ) dtdfile = self.dtdparse(dtdsource) assert len(dtdfile.units) == 1 dtdunit = dtdfile.units[0] assert dtdunit.definition == '"bananas for sale"' > assert bytes(dtdfile) == b'\n' E assert b'' == b'\n' E E Full diff: E - (b'\n') E + b'' tests/translate/storage/test_dtd.py:364: AssertionError __________________________ TestOtFile.test_extensions __________________________ self = @mark.xfail( reason="This doesn't work, due to two store classes handling different " "extensions, but factory listing it as one supported file type" ) def test_extensions(self): > super().test_extensions() tests/translate/storage/test_omegat.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_extensions(self): """Test that the factory knows the extensions for this class.""" supported = factory.supported_files() supported_dict = { name: (extensions, mimetypes) for name, extensions, mimetypes in supported } if not (self.StoreClass.Name and self.StoreClass.Name in supported_dict): return detail = supported_dict[ self.StoreClass.Name ] # will start to get problematic once translated print("Factory:", detail[0]) print("StoreClass:", self.StoreClass.Extensions) for ext in detail[0]: > assert ext in self.StoreClass.Extensions E AssertionError: assert 'tab' in ['utf8'] E + where ['utf8'] = .Extensions E + where = .StoreClass tests/translate/storage/test_base.py:385: AssertionError ----------------------------- Captured stdout call ----------------------------- Factory: ['utf8', 'tab'] StoreClass: ['utf8'] _________________________ TestPOFile.test_kde_plurals __________________________ self = @mark.xfail(reason="Not Implemented") def test_kde_plurals(self): """Tests kde-style plurals. (Bug: 191).""" posource = r"""msgid "_n Singular\n" "Plural" msgstr "Een\n" "Twee\n" "Drie" """ pofile = self.poparse(posource) assert len(pofile.units) == 1 unit = pofile.units[0] > assert unit.hasplural() E assert False E + where False = >() E + where > = .hasplural tests/translate/storage/test_po.py:374: AssertionError __________________ TestPOFile.test_makeobsolete_untranslated ___________________ self = @mark.xfail(reason="Check differing behaviours between pypo and cpo") def test_makeobsolete_untranslated(self): """Tests making an untranslated unit obsolete.""" posource = '#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' pofile = self.poparse(posource) unit = pofile.units[0] print(bytes(pofile)) assert not unit.isobsolete() unit.makeobsolete() > assert str(unit) == "" E assert '#~ msgid "te...~ msgstr ""\n' == '' E E + #~ msgid "test" E + #~ msgstr "" tests/translate/storage/test_po.py:449: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' ________________________ TestXWikiFullPage.test_remove _________________________ self = @mark.xfail(reason="removal not working in full page") def test_remove(self): > super().test_remove() tests/translate/storage/test_properties.py:1627: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def test_remove(self): """Tests removing a unit with a source string.""" store = self.StoreClass() unit = store.addsourceunit("Test String") # Some storages (MO, OmegaT) serialize only translated units unit.target = "Test target" assert headerless_len(store.units) == 1 withunit = bytes(store) print(withunit) store.removeunit(unit) assert headerless_len(store.units) == 0 withoutunit = bytes(store) print(withoutunit) > assert withoutunit != withunit E assert b'\n\n\n\n\n 0\n \n \n <content/>\n </xwikidoc>\n' != b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' tests/translate/storage/test_base.py:277: AssertionError ----------------------------- Captured stdout call ----------------------------- b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' ________________________ TestPYPOFile.test_kde_plurals _________________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f7512b111f0> @mark.xfail(reason="Not Implemented") def test_kde_plurals(self): """Tests kde-style plurals. (Bug: 191).""" posource = r"""msgid "_n Singular\n" "Plural" msgstr "Een\n" "Twee\n" "Drie" """ pofile = self.poparse(posource) assert len(pofile.units) == 1 unit = pofile.units[0] > assert unit.hasplural() E assert False E + where False = <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7f750a749c10>>() E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7f750a749c10>> = <translate.storage.pypo.pounit object at 0x7f750a749c10>.hasplural tests/translate/storage/test_po.py:374: AssertionError _________________ TestPYPOFile.test_makeobsolete_untranslated __________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f7512b135c0> @mark.xfail(reason="Check differing behaviours between pypo and cpo") def test_makeobsolete_untranslated(self): """Tests making an untranslated unit obsolete.""" posource = '#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' pofile = self.poparse(posource) unit = pofile.units[0] print(bytes(pofile)) assert not unit.isobsolete() unit.makeobsolete() > assert str(unit) == "" E assert '#~ msgid "te...~ msgstr ""\n' == '' E E + #~ msgid "test" E + #~ msgstr "" tests/translate/storage/test_po.py:449: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' _________________ TestPYPOFile.test_mixed_newlines_typecomment _________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f7512b11ca0> @mark.xfail(reason="Not sure if this can not be parsed gracefully") def test_mixed_newlines_typecomment(self): """Checks that mixed newlines in typecomments are properly parsed.""" # This was generated by translate-tookit prior to # issue that test_dos_newlines_write is covering was fixed. posource = b"""#, fuzzy msgid "test me"\r msgstr ""\r """ > pofile = self.poparse(posource) tests/translate/storage/test_pypo.py:620: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/translate/storage/test_po.py:214: in poparse return self.StoreClass(dummyfile) translate/storage/pypo.py:936: in __init__ super().__init__(inputfile, **kwargs) translate/storage/pocommon.py:199: in __init__ self.parse(inputfile) translate/storage/pypo.py:952: in parse poparser.parse_units(poparser.ParseState(iter(lines), self.create_unit), self) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ parse_state = <translate.storage.poparser.ParseState object at 0x7f750a7a8500> store = <translate.storage.pypo.pofile object at 0x7f750a74b260> def parse_units(parse_state, store): unit = parse_header(parse_state, store) while unit: unit.infer_state() store.addunit(unit) unit = parse_unit(parse_state) if not parse_state.eof: > raise PoParseError(parse_state) E translate.storage.poparser.PoParseError: Syntax error on line 2: '#, fuzzy\nmsgid "test me"\r\n' translate/storage/poparser.py:405: PoParseError ______________________ TestSubtitleUnit.test_note_sanity _______________________ self = <tests.translate.storage.test_subtitles.TestSubtitleUnit object at 0x7f7512a85850> @pytest.mark.xfail(reason="Not Implemented") def test_note_sanity(self): > super().test_note_sanity() tests/translate/storage/test_subtitles.py:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.translate.storage.test_subtitles.TestSubtitleUnit object at 0x7f7512a85850> def test_note_sanity(self): """Tests that all subclasses of the base behaves consistently with regards to notes.""" unit = self.unit unit.addnote("Test note 1", origin="translator") unit.addnote("Test note 2", origin="translator") unit.addnote("Test note 3", origin="translator") expected_notes = "Test note 1\nTest note 2\nTest note 3" actual_notes = unit.getnotes(origin="translator") > assert actual_notes == expected_notes E AssertionError: assert '' == 'Test note 1\...\nTest note 3' E E - Test note 1 E - Test note 2 E - Test note 3 tests/translate/storage/test_base.py:179: AssertionError __________________________ TestCount.test_plurals_kde __________________________ self = <tests.translate.tools.test_pocount.TestCount object at 0x7f75133781d0> @mark.xfail(reason="Support commented out pending removal") def test_plurals_kde(self): """Test that we correcly count old style KDE plurals.""" > self.count("_n: Singular\\n\nPlural", 2, "Een\\n\ntwee\\n\ndrie", 3) tests/translate/tools/test_pocount.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ source = '_n: Singular\\n\nPlural', expectedsource = 2 target = 'Een\\n\ntwee\\n\ndrie', expectedtarget = 3 @staticmethod def count(source, expectedsource, target=None, expectedtarget=None): """Simple helper to check the respective word counts.""" poelement = po.pounit(source) if target is not None: poelement.target = target wordssource, wordstarget = pocount.wordsinunit(poelement) print( 'Source (expected=%d; actual=%d): "%s"' % (expectedsource, wordssource, source) ) > assert wordssource == expectedsource E assert 3 == 2 tests/translate/tools/test_pocount.py:33: AssertionError ----------------------------- Captured stdout call ----------------------------- Source (expected=2; actual=3): "_n: Singular\n Plural" _________________________ TestPOMerge.test_escape_tabs _________________________ self = <tests.translate.tools.test_pomerge.TestPOMerge object at 0x7f75133fe150> @mark.xfail(reason="Not Implemented") def test_escape_tabs(self): """Ensure that input tabs are escaped in the output, like gettext does.""" # The strings below contains the tab character, not spaces. templatepo = """msgid "First Second"\nmsgstr ""\n\n""" mergepo = """msgid "First Second"\nmsgstr "Eerste Tweede"\n""" expectedpo = r"""msgid "First\tSecond" msgstr "Eerste\tTweede" """ pofile = self.mergestore(templatepo, mergepo) print(f"Expected:\n{expectedpo}\n\nMerged:\n{bytes(pofile)}") > assert bytes(pofile).decode("utf-8") == expectedpo E assert 'msgid "First...e\\tTweede"\n' == 'msgid "First...e\\tTweede"\n' E E - msgid "First\tSecond" E ? ^^ E + msgid "First Second" E ? ^ E msgstr "Eerste\tTweede" tests/translate/tools/test_pomerge.py:348: AssertionError ----------------------------- Captured stdout call ----------------------------- Expected: msgid "First\tSecond" msgstr "Eerste\tTweede" Merged: b'msgid "First\tSecond"\nmsgstr "Eerste\\tTweede"\n' __________________ TestPretranslate.test_merging_msgid_change __________________ self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7f75133fd250> @mark.xfail(reason="Not Implemented") def test_merging_msgid_change(self): """ tests that if the msgid changes but the location stays the same that we merge. """ input_source = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" template_source = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: simple.la...\nmsgstr ""\n' == '#: simple.la...we lyne\\n"\n' E E #: simple.label E #: simple.accesskey E - #, fuzzy E msgid "Its &hard coding a newline.\n" E - msgstr "&Hart gekoeerde nuwe lyne\n" E + msgstr "" tests/translate/tools/test_pretranslate.py:130: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n' ______________ TestPretranslate.test_merging_accelerator_changes _______________ self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7f75133fcc80> @mark.xfail(reason="Not Implemented") def test_merging_accelerator_changes(self): """ test that a change in the accelerator localtion still allows merging. """ input_source = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" template_source = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: someline....\nmsgstr ""\n' == '#: someline....str "&Info"\n' E E #: someline.c E msgid "A&bout" E - msgstr "&Info" E ? ----- E + msgstr "" tests/translate/tools/test_pretranslate.py:185: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: someline.c\nmsgid "A&bout"\nmsgstr ""\n' _________________ TestPretranslate.test_lines_cut_differently __________________ self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7f75133fef90> @mark.xfail(reason="Not Implemented") def test_lines_cut_differently(self): """ Checks that the correct formatting is preserved when pot an po lines differ. """ input_source = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) template_source = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.pretranslatepo(input_source, template_source) newpounit = self.singleunit(newpo) > assert str(newpounit) == template_source E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/tools/test_pretranslate.py:199: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" ______________ TestPretranslateCommand.test_merging_msgid_change _______________ self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7f75133fd910> @mark.xfail(reason="Not Implemented") def test_merging_msgid_change(self): """ tests that if the msgid changes but the location stays the same that we merge. """ input_source = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" template_source = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: simple.la...\nmsgstr ""\n' == '#: simple.la...we lyne\\n"\n' E E #: simple.label E #: simple.accesskey E - #, fuzzy E msgid "Its &hard coding a newline.\n" E - msgstr "&Hart gekoeerde nuwe lyne\n" E + msgstr "" tests/translate/tools/test_pretranslate.py:130: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n' ___________ TestPretranslateCommand.test_merging_accelerator_changes ___________ self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7f75133b0080> @mark.xfail(reason="Not Implemented") def test_merging_accelerator_changes(self): """ test that a change in the accelerator localtion still allows merging. """ input_source = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" template_source = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: someline....\nmsgstr ""\n' == '#: someline....str "&Info"\n' E E #: someline.c E msgid "A&bout" E - msgstr "&Info" E ? ----- E + msgstr "" tests/translate/tools/test_pretranslate.py:185: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: someline.c\nmsgid "A&bout"\nmsgstr ""\n' ______________ TestPretranslateCommand.test_lines_cut_differently ______________ self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7f75133b0aa0> @mark.xfail(reason="Not Implemented") def test_lines_cut_differently(self): """ Checks that the correct formatting is preserved when pot an po lines differ. """ input_source = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) template_source = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.pretranslatepo(input_source, template_source) newpounit = self.singleunit(newpo) > assert str(newpounit) == template_source E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/tools/test_pretranslate.py:199: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" =============================== warnings summary =============================== .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey Warning: Could not find accesskey for key.accesskey .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey Warning: Could not find accesskey for prop.accesskey .pybuild/cpython3_3.12_translate/build/tests/translate/convert/test_po2tmx.py: 26 warnings .pybuild/cpython3_3.12_translate/build/tests/translate/filters/test_pofilter.py: 13 warnings .pybuild/cpython3_3.12_translate/build/tests/translate/storage/test_tbx.py: 17 warnings .pybuild/cpython3_3.12_translate/build/tests/translate/storage/test_tmx.py: 24 warnings 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' .pybuild/cpython3_3.12_translate/build/tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting Warning: DTD parse error: <string>:1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated .pybuild/cpython3_3.12_translate/build/tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting Warning: DTD file '' does not validate -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html --------------------------- snapshot report summary ---------------------------- 23 snapshots passed. =========================== short test summary info ============================ SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 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. XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 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 XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented ===== 3294 passed, 3 skipped, 39 xfailed, 90 warnings in 119.43s (0:01:59) ===== I: pybuild base:311: cd /build/reproducible-path/translate-toolkit-3.13.0/.pybuild/cpython3_3.11_translate/build; python3.11 -m pytest -rsx -v . ============================= test session starts ============================== platform linux -- Python 3.11.9, pytest-8.1.2, pluggy-1.5.0 -- /usr/bin/python3.11 cachedir: .pytest_cache rootdir: /build/reproducible-path/translate-toolkit-3.13.0 configfile: pytest.ini plugins: syrupy-4.6.1 collecting ... collected 3334 items / 2 skipped tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 13%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 23%] tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 24%] tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 30%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] tests/translate/filters/test_checks.py::test_filepaths PASSED [ 33%] tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 33%] tests/translate/filters/test_checks.py::test_long PASSED [ 33%] tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] tests/translate/filters/test_checks.py::test_options PASSED [ 33%] tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] tests/translate/filters/test_checks.py::test_short PASSED [ 33%] tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 34%] tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 34%] tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] tests/translate/filters/test_checks.py::test_category PASSED [ 34%] tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] tests/translate/lang/test_common.py::test_characters PASSED [ 36%] tests/translate/lang/test_common.py::test_words PASSED [ 36%] tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] tests/translate/lang/test_common.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_common.py::test_length_difference PASSED [ 37%] tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] tests/translate/lang/test_poedit.py::test_isocode PASSED [ 38%] tests/translate/lang/test_ro.py::test_cedillas PASSED [ 38%] tests/translate/lang/test_ro.py::test_niciun PASSED [ 38%] tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] tests/translate/lang/test_team.py::test_simple PASSED [ 38%] tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 41%] tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 41%] tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 41%] tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 41%] tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 49%] tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 49%] tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 69%] tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 71%] tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 84%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 85%] tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 86%] tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 94%] tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] ================================== XFAILURES =================================== _______________ TestDTD2PO.test_accelerator_keys_not_in_sentence _______________ self = <tests.translate.convert.test_dtd2po.TestDTD2PO object at 0x7fe8748ae7d0> @mark.xfail(reason="Not Implemented") def test_accelerator_keys_not_in_sentence(self): """Tests to ensure that we can manage accelerator keys that are not part of the transated sentence eg in Chinese.""" dtdtemplate = """<!ENTITY useAutoScroll.label "Use autoscrolling"> <!ENTITY useAutoScroll.accesskey "a">""" dtdlanguage = """<!ENTITY useAutoScroll.label "使用自動捲動(Autoscrolling)"> <!ENTITY useAutoScroll.accesskey "a">""" pofile = self.dtd2po(dtdlanguage, dtdtemplate) print(pofile) > expected_target = "使用自動捲動(&Autoscrolling)".decode("utf-8") E AttributeError: 'str' object has no attribute 'decode' tests/translate/convert/test_dtd2po.py:347: AttributeError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fe871b61890> ___________ TestDTD2POCommand.test_accelerator_keys_not_in_sentence ____________ self = <tests.translate.convert.test_dtd2po.TestDTD2POCommand object at 0x7fe874890710> @mark.xfail(reason="Not Implemented") def test_accelerator_keys_not_in_sentence(self): """Tests to ensure that we can manage accelerator keys that are not part of the transated sentence eg in Chinese.""" dtdtemplate = """<!ENTITY useAutoScroll.label "Use autoscrolling"> <!ENTITY useAutoScroll.accesskey "a">""" dtdlanguage = """<!ENTITY useAutoScroll.label "使用自動捲動(Autoscrolling)"> <!ENTITY useAutoScroll.accesskey "a">""" pofile = self.dtd2po(dtdlanguage, dtdtemplate) print(pofile) > expected_target = "使用自動捲動(&Autoscrolling)".decode("utf-8") E AttributeError: 'str' object has no attribute 'decode' tests/translate/convert/test_dtd2po.py:347: AttributeError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fe87193e6d0> ________________ TestPO2Php.test_merging_propertyless_template _________________ self = <tests.translate.convert.test_po2php.TestPO2Php object at 0x7fe873da9810> @mark.xfail(reason="Need to review if we want this behaviour") def test_merging_propertyless_template(self): """Check that when merging with a template with no property values that we copy the template.""" posource = "" proptemplate = "# A comment\n" propexpected = proptemplate > propfile = self.merge2prop(proptemplate, posource) E AttributeError: 'TestPO2Php' object has no attribute 'merge2prop' tests/translate/convert/test_po2php.py:383: AttributeError _____________ TestPO2PhpCommand.test_merging_propertyless_template _____________ self = <tests.translate.convert.test_po2php.TestPO2PhpCommand object at 0x7fe873e5c5d0> @mark.xfail(reason="Need to review if we want this behaviour") def test_merging_propertyless_template(self): """Check that when merging with a template with no property values that we copy the template.""" posource = "" proptemplate = "# A comment\n" propexpected = proptemplate > propfile = self.merge2prop(proptemplate, posource) E AttributeError: 'TestPO2PhpCommand' object has no attribute 'merge2prop' tests/translate/convert/test_po2php.py:383: AttributeError _____________________ TestPOT2PO.test_merging_msgid_change _____________________ self = <tests.translate.convert.test_pot2po.TestPOT2PO object at 0x7fe873738950> @mark.xfail(reason="Not implemented - review if this is even correct") def test_merging_msgid_change(self): """Tests that if the msgid changes but the location stays the same that we merge.""" potsource = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" posource = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = <translate.storage.pypo.pofile object at 0x7fe8719ea050> @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([<translate.storage.pypo.pounit object at 0x7fe871f6bd50>, <translate.storage.pypo.pounit object at 0x7fe872c1c650>, <translate.storage.pypo.pounit object at 0x7fe873bb8f90>]) E + where [<translate.storage.pypo.pounit object at 0x7fe871f6bd50>, <translate.storage.pypo.pounit object at 0x7fe872c1c650>, <translate.storage.pypo.pounit object at 0x7fe873bb8f90>] = <translate.storage.pypo.pofile object at 0x7fe8719ea050>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fe8719ea050> _________________ TestPOT2PO.test_merging_accelerator_changes __________________ self = <tests.translate.convert.test_pot2po.TestPOT2PO object at 0x7fe87373a810> @mark.xfail(reason="Not Implemented - needs review") def test_merging_accelerator_changes(self): """Test that a change in the accelerator localtion still allows merging.""" potsource = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" posource = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = <translate.storage.pypo.pofile object at 0x7fe872d23150> @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([<translate.storage.pypo.pounit object at 0x7fe871ed58d0>, <translate.storage.pypo.pounit object at 0x7fe871f82c10>, <translate.storage.pypo.pounit object at 0x7fe871ec2590>]) E + where [<translate.storage.pypo.pounit object at 0x7fe871ed58d0>, <translate.storage.pypo.pounit object at 0x7fe871f82c10>, <translate.storage.pypo.pounit object at 0x7fe871ec2590>] = <translate.storage.pypo.pofile object at 0x7fe872d23150>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fe872d23150> ____________________ TestPOT2PO.test_lines_cut_differently _____________________ self = <tests.translate.convert.test_pot2po.TestPOT2PO object at 0x7fe87373b6d0> @mark.xfail(reason="Not Implemented - review if this is even correct") def test_lines_cut_differently(self): """Checks that the correct formatting is preserved when pot an po lines differ.""" potsource = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) posource = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.convertpot(potsource, posource) newpounit = self.singleunit(newpo) > assert str(newpounit) == posource E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/convert/test_pot2po.py:201: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" _________________ TestPOT2POCommand.test_merging_msgid_change __________________ self = <tests.translate.convert.test_pot2po.TestPOT2POCommand object at 0x7fe873722a50> @mark.xfail(reason="Not implemented - review if this is even correct") def test_merging_msgid_change(self): """Tests that if the msgid changes but the location stays the same that we merge.""" potsource = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" posource = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = <translate.storage.pypo.pofile object at 0x7fe871fa3c10> @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([<translate.storage.pypo.pounit object at 0x7fe871fa1250>, <translate.storage.pypo.pounit object at 0x7fe871fa0390>, <translate.storage.pypo.pounit object at 0x7fe871e38ed0>]) E + where [<translate.storage.pypo.pounit object at 0x7fe871fa1250>, <translate.storage.pypo.pounit object at 0x7fe871fa0390>, <translate.storage.pypo.pounit object at 0x7fe871e38ed0>] = <translate.storage.pypo.pofile object at 0x7fe871fa3c10>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fe871fa3c10> ______________ TestPOT2POCommand.test_merging_accelerator_changes ______________ self = <tests.translate.convert.test_pot2po.TestPOT2POCommand object at 0x7fe873712890> @mark.xfail(reason="Not Implemented - needs review") def test_merging_accelerator_changes(self): """Test that a change in the accelerator localtion still allows merging.""" potsource = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" posource = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.convertpot(potsource, posource) print(newpo) > assert str(self.singleunit(newpo)) == poexpected tests/translate/convert/test_pot2po.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pofile = <translate.storage.pypo.pofile object at 0x7fe871e992d0> @staticmethod def singleunit(pofile): """Checks that the pofile contains a single non-header unit, and returns it.""" > assert len(pofile.units) == 2 E assert 3 == 2 E + where 3 = len([<translate.storage.pypo.pounit object at 0x7fe872ec5550>, <translate.storage.pypo.pounit object at 0x7fe871f408d0>, <translate.storage.pypo.pounit object at 0x7fe871f42010>]) E + where [<translate.storage.pypo.pounit object at 0x7fe872ec5550>, <translate.storage.pypo.pounit object at 0x7fe871f408d0>, <translate.storage.pypo.pounit object at 0x7fe871f42010>] = <translate.storage.pypo.pofile object at 0x7fe871e992d0>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fe871e992d0> _________________ TestPOT2POCommand.test_lines_cut_differently _________________ self = <tests.translate.convert.test_pot2po.TestPOT2POCommand object at 0x7fe873713490> @mark.xfail(reason="Not Implemented - review if this is even correct") def test_lines_cut_differently(self): """Checks that the correct formatting is preserved when pot an po lines differ.""" potsource = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) posource = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.convertpot(potsource, posource) newpounit = self.singleunit(newpo) > assert str(newpounit) == posource E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/convert/test_pot2po.py:201: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" ________________________ TestYAML2PO.test_no_duplicates ________________________ self = <translate.storage.yaml.YAMLFile object at 0x7fe872138ed0> input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: > self._original = self.yaml.load(input) translate/storage/yaml.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/ruamel/yaml/main.py:453: in load return constructor.get_single_data() /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:116: in get_single_data return self.construct_document(node) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:125: in construct_document for _dummy in generator: /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1476: in construct_yaml_map self.construct_mapping(node, data, deep=True) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1366: in construct_mapping if self.check_mapping_key(node, key_node, maptyp, key, value): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ruamel.yaml.constructor.RoundTripConstructor object at 0x7fe872139110> node = MappingNode(tag='tag:yaml.org,2002:map', value=[(ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag=...'bar')), (ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag='tag:yaml.org,2002:str', value='baz'))]) key_node = ScalarNode(tag='tag:yaml.org,2002:str', value='foo') mapping = {'foo': 'bar'}, key = 'foo', value = 'baz' def check_mapping_key( self, node: Any, key_node: Any, mapping: Any, key: Any, value: Any, ) -> bool: """return True if key is unique""" if key in mapping: if not self.allow_duplicate_keys: mk = mapping.get(key) args = [ 'while constructing a mapping', node.start_mark, f'found duplicate key "{key}" with value "{value}" ' f'(original value: "{mk}")', key_node.start_mark, """ To suppress this check see: http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys """, """\ Duplicate keys will become an error in future releases, and are errors by default when using the new API. """, ] if self.allow_duplicate_keys is None: warnings.warn(DuplicateKeyFutureWarning(*args), stacklevel=1) else: > raise DuplicateKeyError(*args) E ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping E in "<unicode string>", line 2, column 1: E foo: bar E ^ (line: 2) E found duplicate key "foo" with value "baz" (original value: "bar") E in "<unicode string>", line 3, column 1: E foo: baz E ^ (line: 3) E E To suppress this check see: E http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:278: DuplicateKeyError During handling of the above exception, another exception occurred: self = <tests.translate.convert.test_yaml2po.TestYAML2PO object at 0x7fe873a73850> @pytest.mark.xfail(reason="This is invalid YAML document") def test_no_duplicates(self): """Check converting drops duplicates.""" input_string = """ foo: bar foo: baz """ > target_store = self._convert_to_store(input_string) tests/translate/convert/test_yaml2po.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/translate/convert/test_yaml2po.py:36: in _convert_to_store return self._convert(*args, **kwargs)[0] tests/translate/convert/test_yaml2po.py:28: in _convert converter = self.ConverterClass( translate/convert/yaml2po.py:51: in __init__ self.source_store = self.SourceStoreClass(input_file) translate/storage/yaml.py:93: in __init__ self.parse(inputfile) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <translate.storage.yaml.YAMLFile object at 0x7fe872138ed0> input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: self._original = self.yaml.load(input) except YAMLError as e: message = getattr(e, "problem", getattr(e, "message", str(e))) if hasattr(e, "problem_mark"): message += f" {e.problem_mark}" > raise base.ParseError(message) E translate.storage.base.ParseError: 'found duplicate key "foo" with value "baz" (original value: "bar") in "<unicode string>", line 3, column 1:\n foo: baz\n ^ (line: 3)' translate/storage/yaml.py:168: ParseError ____________________ TestYAML2POCommand.test_no_duplicates _____________________ self = <translate.storage.yaml.YAMLFile object at 0x7fe872e47e50> input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: > self._original = self.yaml.load(input) translate/storage/yaml.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/ruamel/yaml/main.py:453: in load return constructor.get_single_data() /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:116: in get_single_data return self.construct_document(node) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:125: in construct_document for _dummy in generator: /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1476: in construct_yaml_map self.construct_mapping(node, data, deep=True) /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:1366: in construct_mapping if self.check_mapping_key(node, key_node, maptyp, key, value): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ruamel.yaml.constructor.RoundTripConstructor object at 0x7fe872e47350> node = MappingNode(tag='tag:yaml.org,2002:map', value=[(ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag=...'bar')), (ScalarNode(tag='tag:yaml.org,2002:str', value='foo'), ScalarNode(tag='tag:yaml.org,2002:str', value='baz'))]) key_node = ScalarNode(tag='tag:yaml.org,2002:str', value='foo') mapping = {'foo': 'bar'}, key = 'foo', value = 'baz' def check_mapping_key( self, node: Any, key_node: Any, mapping: Any, key: Any, value: Any, ) -> bool: """return True if key is unique""" if key in mapping: if not self.allow_duplicate_keys: mk = mapping.get(key) args = [ 'while constructing a mapping', node.start_mark, f'found duplicate key "{key}" with value "{value}" ' f'(original value: "{mk}")', key_node.start_mark, """ To suppress this check see: http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys """, """\ Duplicate keys will become an error in future releases, and are errors by default when using the new API. """, ] if self.allow_duplicate_keys is None: warnings.warn(DuplicateKeyFutureWarning(*args), stacklevel=1) else: > raise DuplicateKeyError(*args) E ruamel.yaml.constructor.DuplicateKeyError: while constructing a mapping E in "<unicode string>", line 2, column 1: E foo: bar E ^ (line: 2) E found duplicate key "foo" with value "baz" (original value: "bar") E in "<unicode string>", line 3, column 1: E foo: baz E ^ (line: 3) E E To suppress this check see: E http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys /usr/lib/python3/dist-packages/ruamel/yaml/constructor.py:278: DuplicateKeyError During handling of the above exception, another exception occurred: self = <tests.translate.convert.test_yaml2po.TestYAML2POCommand object at 0x7fe873a70c10> @pytest.mark.xfail(reason="This is invalid YAML document") def test_no_duplicates(self): """Check converting drops duplicates.""" input_string = """ foo: bar foo: baz """ > target_store = self._convert_to_store(input_string) tests/translate/convert/test_yaml2po.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/translate/convert/test_yaml2po.py:36: in _convert_to_store return self._convert(*args, **kwargs)[0] tests/translate/convert/test_yaml2po.py:28: in _convert converter = self.ConverterClass( translate/convert/yaml2po.py:51: in __init__ self.source_store = self.SourceStoreClass(input_file) translate/storage/yaml.py:93: in __init__ self.parse(inputfile) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <translate.storage.yaml.YAMLFile object at 0x7fe872e47e50> input = '\nfoo: bar\nfoo: baz\n' def parse(self, input): """Parse the given file or file source string.""" if hasattr(input, "name"): self.filename = input.name elif not getattr(self, "filename", ""): self.filename = "" if hasattr(input, "read"): src = input.read() input.close() input = src if isinstance(input, bytes): input = input.decode("utf-8") try: self._original = self.yaml.load(input) except YAMLError as e: message = getattr(e, "problem", getattr(e, "message", str(e))) if hasattr(e, "problem_mark"): message += f" {e.problem_mark}" > raise base.ParseError(message) E translate.storage.base.ParseError: 'found duplicate key "foo" with value "baz" (original value: "bar") in "<unicode string>", line 3, column 1:\n foo: baz\n ^ (line: 3)' translate/storage/yaml.py:168: ParseError __________________________ test_acceleratedvariables ___________________________ @mark.xfail(reason="Accelerated variables needs a better implementation") def test_acceleratedvariables(): """Test for accelerated variables.""" # FIXME: disabled since acceleratedvariables has been removed, but these checks are still needed mozillachecker = checks.MozillaChecker() > assert fails(mozillachecker.acceleratedvariables, "%S &Options", "&%S Ikhetho") E AttributeError: 'MozillaChecker' object has no attribute 'acceleratedvariables' tests/translate/filters/test_checks.py:206: AttributeError ___________________________ test_musttranslatewords ____________________________ @mark.xfail(reason="FIXME: All fails() tests are not working") def test_musttranslatewords(): """Tests stopwords.""" stdchecker = checks.StandardChecker(checks.CheckerConfig(musttranslatewords=[])) assert passes( stdchecker.musttranslatewords, "This uses Mozilla of course", "hierdie gebruik le mozille natuurlik", ) stdchecker = checks.StandardChecker( checks.CheckerConfig(musttranslatewords=["Mozilla"]) ) assert passes( stdchecker.musttranslatewords, "This uses Mozilla of course", "hierdie gebruik le mozille natuurlik", ) > assert fails( stdchecker.musttranslatewords, "This uses Mozilla of course", "hierdie gebruik Mozilla natuurlik", ) E AssertionError: assert False E + where False = fails(<bound method StandardChecker.musttranslatewords of <translate.filters.checks.StandardChecker object at 0x7fe871eecf10>>, 'This uses Mozilla of course', 'hierdie gebruik Mozilla natuurlik') E + where <bound method StandardChecker.musttranslatewords of <translate.filters.checks.StandardChecker object at 0x7fe871eecf10>> = <translate.filters.checks.StandardChecker object at 0x7fe871eecf10>.musttranslatewords tests/translate/filters/test_checks.py:612: AssertionError __________ test_persian_single_and_double_quote_fail_at_the_same_time __________ @mark.xfail(reason="Bug #3408") def test_persian_single_and_double_quote_fail_at_the_same_time(): """Test Persian single and double quote failures in string with single quotes.""" checker = checks.StandardChecker(checks.CheckerConfig(targetlanguage="fa")) # With single quote check. assert fails(checker.singlequoting, "Path: '%S'", "مسیر: '%S'‎") > assert fails(checker.singlequoting, "Path: '%S'", 'مسیر: "%S"‎') E assert False E + where False = fails(<bound method StandardChecker.singlequoting of <translate.filters.checks.StandardChecker object at 0x7fe871e28cd0>>, "Path: '%S'", 'مسیر: "%S"\u200e') E + where <bound method StandardChecker.singlequoting of <translate.filters.checks.StandardChecker object at 0x7fe871e28cd0>> = <translate.filters.checks.StandardChecker object at 0x7fe871e28cd0>.singlequoting tests/translate/filters/test_checks.py:1271: AssertionError ____________________ test_bengali_mozilla_inverted_xmltags _____________________ @mark.xfail(reason="Bug #3506") def test_bengali_mozilla_inverted_xmltags(): """Test Bengali Mozilla XML tags.""" bn_mozilla_checker = checks.MozillaChecker( checkerconfig=checks.CheckerConfig(targetlanguage="bn") ) str_en = """We <a href="%(cofound_url)s" rel="external">co-founded</a> the <a href="%(whatwg_url)s" rel="external">WHAT-WG</a> to.""" str_bn = """এর প্রচলন ঘটাতে আমরা <a href="%(whatwg_url)s" rel="external">WHAT-WG</a> প্রতিষ্ঠায় <a href="%(cofound_url)s" rel="external">সহযোগী</a> ছিলাম।ন।""" > assert passes(bn_mozilla_checker.xmltags, str_en, str_bn) E assert False E + where False = passes(<bound method StandardChecker.xmltags of <translate.filters.checks.MozillaChecker object at 0x7fe871ef28d0>>, 'We <a href="%(cofound_url)s" rel="external">co-founded</a> the <a href="%(whatwg_url)s" rel="external">WHAT-WG</a> to.', 'এর প্রচলন ঘটাতে আমরা <a href="%(whatwg_url)s" rel="external">WHAT-WG</a> প্রতিষ্ঠায় <a href="%(cofound_url)s" rel="external">সহযোগী</a> ছিলাম।ন।') E + where <bound method StandardChecker.xmltags of <translate.filters.checks.MozillaChecker object at 0x7fe871ef28d0>> = <translate.filters.checks.MozillaChecker object at 0x7fe871ef28d0>.xmltags tests/translate/filters/test_checks.py:2065: AssertionError _______________________________ test_word_khmer ________________________________ @mark.xfail( reason="ZWS is not considered a space in Python 2.6+. Khmer " "should extend words() to include \\u200b in addition to " "other word breakers." ) def test_word_khmer(): language = common.Common # Let's test Khmer with zero width space (\u200b) words = language.words("ផ្ដល់\u200bយោបល់") print("ផ្ដល់\u200bយោបល់") print(language.words("ផ្ដល់<200b>យោបល់")) print(["ផ្ដល់", "យោបល់"]) > assert words == ["ផ្ដល់", "យោបល់"] E AssertionError: assert ['ផ្ដល់\u200bយោបល់'] == ['ផ្ដល់', 'យោបល់'] E E At index 0 diff: 'ផ្ដល់\u200bយោបល់' != 'ផ្ដល់' E Right contains one more item: 'យោបល់' E E Full diff: E [ E + 'ផ្ដល់\u200bយោបល់',... E E ...Full output truncated (3 lines hidden), use '-vv' to show tests/translate/lang/test_common.py:47: AssertionError ----------------------------- Captured stdout call ----------------------------- ផ្ដល់​យោបល់ ['ផ្ដល់<200b>យោបល់'] ['ផ្ដល់', 'យោបល់'] __________________ TestConverters.test_to_general_placeables ___________________ self = <tests.translate.storage.placeables.test_base.TestConverters object at 0x7fe871a30050> @mark.xfail(reason="Test needs fixing, disabled for now") def test_to_general_placeables(self): basetree = base.to_base_placeables(self.elem) gentree = general.to_general_placeables(basetree) > assert gentree == self.elem E assert <StringElem([...(['</a>'])>])> == <StringElem([...(['</a>'])>])> E E Full diff: E - <StringElem([<StringElem(['Ģët '])>, <XMLTagPlaceable(['<a href="http://www.example.com" alt="Ģët &brand;!">'])>, <XMLEntityPlaceable(['&brandLong;'])>, <XMLTagPlaceable(['</a>'])>])> E ? ^^^ E + <StringElem([<StringElem(['Ģët '])>, <XMLEntityPlaceable(['<a href="http://www.example.com" alt="Ģët &brand;!">'])>, <XMLEntityPlaceable(['&brandLong;'])>, <XMLTagPlaceable(['</a>'])>])> E ? ^^^^^^ tests/translate/storage/placeables/test_base.py:209: AssertionError ___________________ TestConverters.test_to_xliff_placeables ____________________ self = <tests.translate.storage.placeables.test_base.TestConverters object at 0x7fe871a03690> @mark.xfail(reason="Test needs fixing, disabled for now") def test_to_xliff_placeables(self): basetree = base.to_base_placeables(self.elem) xliff_from_base = xliff.to_xliff_placeables(basetree) > assert str(xliff_from_base) != str(self.elem) E assert 'Ģët <a href="http://www.example.com" alt="Ģët &brand;!">&brandLong;</a>' != 'Ģët <a href="http://www.example.com" alt="Ģët &brand;!">&brandLong;</a>' E + where 'Ģët <a href="http://www.example.com" alt="Ģët &brand;!">&brandLong;</a>' = str(<StringElem([<StringElem(['Ģët '])>, <Ph(['<a href="http://www.example.com" alt="Ģët &brand;!">'])>, <Ph(['&brandLong;'])>, <Ph(['</a>'])>])>) E + and 'Ģët <a href="http://www.example.com" alt="Ģët &brand;!">&brandLong;</a>' = str(<StringElem([<StringElem(['Ģët '])>, <XMLTagPlaceable(['<a href="http://www.example.com" alt="Ģët &brand;!">'])>, <XMLEntityPlaceable(['&brandLong;'])>, <XMLTagPlaceable(['</a>'])>])>) E + where <StringElem([<StringElem(['Ģët '])>, <XMLTagPlaceable(['<a href="http://www.example.com" alt="Ģët &brand;!">'])>, <XMLEntityPlaceable(['&brandLong;'])>, <XMLTagPlaceable(['</a>'])>])> = <tests.translate.storage.placeables.test_base.TestConverters object at 0x7fe871a03690>.elem tests/translate/storage/placeables/test_base.py:215: AssertionError _____________________ test_quotefordtd_unimplemented_cases _____________________ @mark.xfail(reason="Not Implemented") def test_quotefordtd_unimplemented_cases(): """Test unimplemented quoting DTD cases.""" > assert dtd.quotefordtd("Between <p> and </p>") == ( '"Between <p> and </p>"' ) E assert '"Between <p> and </p>"' == '"Between <...d </p>"' E E - "Between <p> and </p>" E + "Between <p> and </p>" tests/translate/storage/test_dtd.py:72: AssertionError ___________________ test_unquotefromdtd_unimplemented_cases ____________________ @mark.xfail(reason="Not Implemented") def test_unquotefromdtd_unimplemented_cases(): """Test unimplemented unquoting DTD cases.""" > assert dtd.unquotefromdtd('"<p> and </p>"') == "<p> and </p>" E AssertionError: assert '<p> and </p>' == '<p> and </p>' E E - <p> and </p> E + <p> and </p> tests/translate/storage/test_dtd.py:103: AssertionError ________________________ TestDTD.test_comment_following ________________________ self = <tests.translate.storage.test_dtd.TestDTD object at 0x7fe87381bed0> @mark.xfail(reason="Not Implemented") def test_comment_following(self): """Check that comments that appear after and entity are not pushed onto another line.""" dtdsource = '<!ENTITY textZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->' dtdregen = self.dtdregen(dtdsource) > assert dtdsource == dtdregen E assert '<!ENTITY tex...keyboards -->' == '<!-- + is ab...dkey2 "="> \n' E E + <!ENTITY textZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards --> E - <!-- + is above this key on many keyboards --> E - <!ENTITY textZoomEnlargeCmd.commandkey2 "="> tests/translate/storage/test_dtd.py:344: AssertionError _________________________ TestDTD.test_invalid_quoting _________________________ self = <tests.translate.storage.test_dtd.TestDTD object at 0x7fe871a58b90> @mark.xfail(reason="Not Implemented") def test_invalid_quoting(self): """Checks that invalid quoting doesn't work - quotes can't be reopened.""" # TODO: we should rather raise an error dtdsource = '<!ENTITY test.me "bananas for sale""room">\n' assert ( dtd.unquotefromdtd(dtdsource[dtdsource.find('"') :]) == "bananas for sale" ) dtdfile = self.dtdparse(dtdsource) assert len(dtdfile.units) == 1 dtdunit = dtdfile.units[0] assert dtdunit.definition == '"bananas for sale"' > assert bytes(dtdfile) == b'<!ENTITY test.me "bananas for sale">\n' E assert b'' == b'<!ENTITY te... for sale">\n' E E Full diff: E - (b'<!ENTITY test.me "bananas for sale">\n') E + b'' tests/translate/storage/test_dtd.py:364: AssertionError __________________________ TestOtFile.test_extensions __________________________ self = <tests.translate.storage.test_omegat.TestOtFile object at 0x7fe8720eb190> @mark.xfail( reason="This doesn't work, due to two store classes handling different " "extensions, but factory listing it as one supported file type" ) def test_extensions(self): > super().test_extensions() tests/translate/storage/test_omegat.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.translate.storage.test_omegat.TestOtFile object at 0x7fe8720eb190> def test_extensions(self): """Test that the factory knows the extensions for this class.""" supported = factory.supported_files() supported_dict = { name: (extensions, mimetypes) for name, extensions, mimetypes in supported } if not (self.StoreClass.Name and self.StoreClass.Name in supported_dict): return detail = supported_dict[ self.StoreClass.Name ] # will start to get problematic once translated print("Factory:", detail[0]) print("StoreClass:", self.StoreClass.Extensions) for ext in detail[0]: > assert ext in self.StoreClass.Extensions E AssertionError: assert 'tab' in ['utf8'] E + where ['utf8'] = <class 'translate.storage.omegat.OmegaTFile'>.Extensions E + where <class 'translate.storage.omegat.OmegaTFile'> = <tests.translate.storage.test_omegat.TestOtFile object at 0x7fe8720eb190>.StoreClass tests/translate/storage/test_base.py:385: AssertionError ----------------------------- Captured stdout call ----------------------------- Factory: ['utf8', 'tab'] StoreClass: ['utf8'] _________________________ TestPOFile.test_kde_plurals __________________________ self = <tests.translate.storage.test_po.TestPOFile object at 0x7fe872881210> @mark.xfail(reason="Not Implemented") def test_kde_plurals(self): """Tests kde-style plurals. (Bug: 191).""" posource = r"""msgid "_n Singular\n" "Plural" msgstr "Een\n" "Twee\n" "Drie" """ pofile = self.poparse(posource) assert len(pofile.units) == 1 unit = pofile.units[0] > assert unit.hasplural() E assert False E + where False = <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7fe870bc3790>>() E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7fe870bc3790>> = <translate.storage.pypo.pounit object at 0x7fe870bc3790>.hasplural tests/translate/storage/test_po.py:374: AssertionError __________________ TestPOFile.test_makeobsolete_untranslated ___________________ self = <tests.translate.storage.test_po.TestPOFile object at 0x7fe8728832d0> @mark.xfail(reason="Check differing behaviours between pypo and cpo") def test_makeobsolete_untranslated(self): """Tests making an untranslated unit obsolete.""" posource = '#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' pofile = self.poparse(posource) unit = pofile.units[0] print(bytes(pofile)) assert not unit.isobsolete() unit.makeobsolete() > assert str(unit) == "" E assert '#~ msgid "te...~ msgstr ""\n' == '' E E + #~ msgid "test" E + #~ msgstr "" tests/translate/storage/test_po.py:449: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' ________________________ TestXWikiFullPage.test_remove _________________________ self = <tests.translate.storage.test_properties.TestXWikiFullPage object at 0x7fe87263e350> @mark.xfail(reason="removal not working in full page") def test_remove(self): > super().test_remove() tests/translate/storage/test_properties.py:1627: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.translate.storage.test_properties.TestXWikiFullPage object at 0x7fe87263e350> def test_remove(self): """Tests removing a unit with a source string.""" store = self.StoreClass() unit = store.addsourceunit("Test String") # Some storages (MO, OmegaT) serialize only translated units unit.target = "Test target" assert headerless_len(store.units) == 1 withunit = bytes(store) print(withunit) store.removeunit(unit) assert headerless_len(store.units) == 0 withoutunit = bytes(store) print(withoutunit) > assert withoutunit != withunit E assert b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' != b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' tests/translate/storage/test_base.py:277: AssertionError ----------------------------- Captured stdout call ----------------------------- b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' b'<?xml version="1.1" encoding="UTF-8"?>\n\n<!--\n * See the NOTICE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n-->\n\n<xwikidoc>\n <translation>0</translation>\n <language/>\n <title/>\n <content/>\n </xwikidoc>\n' ________________________ TestPYPOFile.test_kde_plurals _________________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7fe87289e6d0> @mark.xfail(reason="Not Implemented") def test_kde_plurals(self): """Tests kde-style plurals. (Bug: 191).""" posource = r"""msgid "_n Singular\n" "Plural" msgstr "Een\n" "Twee\n" "Drie" """ pofile = self.poparse(posource) assert len(pofile.units) == 1 unit = pofile.units[0] > assert unit.hasplural() E assert False E + where False = <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7fe869da27d0>>() E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7fe869da27d0>> = <translate.storage.pypo.pounit object at 0x7fe869da27d0>.hasplural tests/translate/storage/test_po.py:374: AssertionError _________________ TestPYPOFile.test_makeobsolete_untranslated __________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7fe872859e10> @mark.xfail(reason="Check differing behaviours between pypo and cpo") def test_makeobsolete_untranslated(self): """Tests making an untranslated unit obsolete.""" posource = '#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' pofile = self.poparse(posource) unit = pofile.units[0] print(bytes(pofile)) assert not unit.isobsolete() unit.makeobsolete() > assert str(unit) == "" E assert '#~ msgid "te...~ msgstr ""\n' == '' E E + #~ msgid "test" E + #~ msgstr "" tests/translate/storage/test_po.py:449: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#. The automatic one\n#: test.c\nmsgid "test"\nmsgstr ""\n' _________________ TestPYPOFile.test_mixed_newlines_typecomment _________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7fe87285b590> @mark.xfail(reason="Not sure if this can not be parsed gracefully") def test_mixed_newlines_typecomment(self): """Checks that mixed newlines in typecomments are properly parsed.""" # This was generated by translate-tookit prior to # issue that test_dos_newlines_write is covering was fixed. posource = b"""#, fuzzy msgid "test me"\r msgstr ""\r """ > pofile = self.poparse(posource) tests/translate/storage/test_pypo.py:620: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/translate/storage/test_po.py:214: in poparse return self.StoreClass(dummyfile) translate/storage/pypo.py:936: in __init__ super().__init__(inputfile, **kwargs) translate/storage/pocommon.py:199: in __init__ self.parse(inputfile) translate/storage/pypo.py:952: in parse poparser.parse_units(poparser.ParseState(iter(lines), self.create_unit), self) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ parse_state = <translate.storage.poparser.ParseState object at 0x7fe869b15350> store = <translate.storage.pypo.pofile object at 0x7fe869b14850> def parse_units(parse_state, store): unit = parse_header(parse_state, store) while unit: unit.infer_state() store.addunit(unit) unit = parse_unit(parse_state) if not parse_state.eof: > raise PoParseError(parse_state) E translate.storage.poparser.PoParseError: Syntax error on line 2: '#, fuzzy\nmsgid "test me"\r\n' translate/storage/poparser.py:405: PoParseError ______________________ TestSubtitleUnit.test_note_sanity _______________________ self = <tests.translate.storage.test_subtitles.TestSubtitleUnit object at 0x7fe872bcd4d0> @pytest.mark.xfail(reason="Not Implemented") def test_note_sanity(self): > super().test_note_sanity() tests/translate/storage/test_subtitles.py:13: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.translate.storage.test_subtitles.TestSubtitleUnit object at 0x7fe872bcd4d0> def test_note_sanity(self): """Tests that all subclasses of the base behaves consistently with regards to notes.""" unit = self.unit unit.addnote("Test note 1", origin="translator") unit.addnote("Test note 2", origin="translator") unit.addnote("Test note 3", origin="translator") expected_notes = "Test note 1\nTest note 2\nTest note 3" actual_notes = unit.getnotes(origin="translator") > assert actual_notes == expected_notes E AssertionError: assert '' == 'Test note 1\...\nTest note 3' E E - Test note 1 E - Test note 2 E - Test note 3 tests/translate/storage/test_base.py:179: AssertionError __________________________ TestCount.test_plurals_kde __________________________ self = <tests.translate.tools.test_pocount.TestCount object at 0x7fe872421190> @mark.xfail(reason="Support commented out pending removal") def test_plurals_kde(self): """Test that we correcly count old style KDE plurals.""" > self.count("_n: Singular\\n\nPlural", 2, "Een\\n\ntwee\\n\ndrie", 3) tests/translate/tools/test_pocount.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ source = '_n: Singular\\n\nPlural', expectedsource = 2 target = 'Een\\n\ntwee\\n\ndrie', expectedtarget = 3 @staticmethod def count(source, expectedsource, target=None, expectedtarget=None): """Simple helper to check the respective word counts.""" poelement = po.pounit(source) if target is not None: poelement.target = target wordssource, wordstarget = pocount.wordsinunit(poelement) print( 'Source (expected=%d; actual=%d): "%s"' % (expectedsource, wordssource, source) ) > assert wordssource == expectedsource E assert 3 == 2 tests/translate/tools/test_pocount.py:33: AssertionError ----------------------------- Captured stdout call ----------------------------- Source (expected=2; actual=3): "_n: Singular\n Plural" _________________________ TestPOMerge.test_escape_tabs _________________________ self = <tests.translate.tools.test_pomerge.TestPOMerge object at 0x7fe871ebfb90> @mark.xfail(reason="Not Implemented") def test_escape_tabs(self): """Ensure that input tabs are escaped in the output, like gettext does.""" # The strings below contains the tab character, not spaces. templatepo = """msgid "First Second"\nmsgstr ""\n\n""" mergepo = """msgid "First Second"\nmsgstr "Eerste Tweede"\n""" expectedpo = r"""msgid "First\tSecond" msgstr "Eerste\tTweede" """ pofile = self.mergestore(templatepo, mergepo) print(f"Expected:\n{expectedpo}\n\nMerged:\n{bytes(pofile)}") > assert bytes(pofile).decode("utf-8") == expectedpo E assert 'msgid "First...e\\tTweede"\n' == 'msgid "First...e\\tTweede"\n' E E - msgid "First\tSecond" E ? ^^ E + msgid "First Second" E ? ^ E msgstr "Eerste\tTweede" tests/translate/tools/test_pomerge.py:348: AssertionError ----------------------------- Captured stdout call ----------------------------- Expected: msgid "First\tSecond" msgstr "Eerste\tTweede" Merged: b'msgid "First\tSecond"\nmsgstr "Eerste\\tTweede"\n' __________________ TestPretranslate.test_merging_msgid_change __________________ self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7fe872426910> @mark.xfail(reason="Not Implemented") def test_merging_msgid_change(self): """ tests that if the msgid changes but the location stays the same that we merge. """ input_source = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" template_source = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: simple.la...\nmsgstr ""\n' == '#: simple.la...we lyne\\n"\n' E E #: simple.label E #: simple.accesskey E - #, fuzzy E msgid "Its &hard coding a newline.\n" E - msgstr "&Hart gekoeerde nuwe lyne\n" E + msgstr "" tests/translate/tools/test_pretranslate.py:130: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n' ______________ TestPretranslate.test_merging_accelerator_changes _______________ self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7fe872426290> @mark.xfail(reason="Not Implemented") def test_merging_accelerator_changes(self): """ test that a change in the accelerator localtion still allows merging. """ input_source = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" template_source = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: someline....\nmsgstr ""\n' == '#: someline....str "&Info"\n' E E #: someline.c E msgid "A&bout" E - msgstr "&Info" E ? ----- E + msgstr "" tests/translate/tools/test_pretranslate.py:185: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: someline.c\nmsgid "A&bout"\nmsgstr ""\n' _________________ TestPretranslate.test_lines_cut_differently __________________ self = <tests.translate.tools.test_pretranslate.TestPretranslate object at 0x7fe872425010> @mark.xfail(reason="Not Implemented") def test_lines_cut_differently(self): """ Checks that the correct formatting is preserved when pot an po lines differ. """ input_source = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) template_source = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.pretranslatepo(input_source, template_source) newpounit = self.singleunit(newpo) > assert str(newpounit) == template_source E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/tools/test_pretranslate.py:199: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" ______________ TestPretranslateCommand.test_merging_msgid_change _______________ self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7fe872429e10> @mark.xfail(reason="Not Implemented") def test_merging_msgid_change(self): """ tests that if the msgid changes but the location stays the same that we merge. """ input_source = """#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n""" template_source = """#: simple.label\n#: simple.accesskey\nmsgid "A &hard coded newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" poexpected = """#: simple.label\n#: simple.accesskey\n#, fuzzy\nmsgid "Its &hard coding a newline.\\n"\nmsgstr "&Hart gekoeerde nuwe lyne\\n"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: simple.la...\nmsgstr ""\n' == '#: simple.la...we lyne\\n"\n' E E #: simple.label E #: simple.accesskey E - #, fuzzy E msgid "Its &hard coding a newline.\n" E - msgstr "&Hart gekoeerde nuwe lyne\n" E + msgstr "" tests/translate/tools/test_pretranslate.py:130: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: simple.label\n#: simple.accesskey\nmsgid "Its &hard coding a newline.\\n"\nmsgstr ""\n' ___________ TestPretranslateCommand.test_merging_accelerator_changes ___________ self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7fe872498c50> @mark.xfail(reason="Not Implemented") def test_merging_accelerator_changes(self): """ test that a change in the accelerator localtion still allows merging. """ input_source = """#: someline.c\nmsgid "A&bout"\nmsgstr ""\n""" template_source = """#: someline.c\nmsgid "&About"\nmsgstr "&Info"\n""" poexpected = """#: someline.c\nmsgid "A&bout"\nmsgstr "&Info"\n""" newpo = self.pretranslatepo(input_source, template_source) print(bytes(newpo)) > assert bytes(newpo).decode("utf-8") == poexpected E assert '#: someline....\nmsgstr ""\n' == '#: someline....str "&Info"\n' E E #: someline.c E msgid "A&bout" E - msgstr "&Info" E ? ----- E + msgstr "" tests/translate/tools/test_pretranslate.py:185: AssertionError ----------------------------- Captured stdout call ----------------------------- b'#: someline.c\nmsgid "A&bout"\nmsgstr ""\n' ______________ TestPretranslateCommand.test_lines_cut_differently ______________ self = <tests.translate.tools.test_pretranslate.TestPretranslateCommand object at 0x7fe87249ba50> @mark.xfail(reason="Not Implemented") def test_lines_cut_differently(self): """ Checks that the correct formatting is preserved when pot an po lines differ. """ input_source = ( """#: simple.label\nmsgid "Line split "\n"differently"\nmsgstr ""\n""" ) template_source = """#: simple.label\nmsgid "Line"\n" split differently"\nmsgstr "Lyne verskillend gesny"\n""" newpo = self.pretranslatepo(input_source, template_source) newpounit = self.singleunit(newpo) > assert str(newpounit) == template_source E assert '#: simple.la...lend gesny"\n' == '#: simple.la...lend gesny"\n' E E #: simple.label E - msgid "Line" E + msgid "Line split " E ? +++++++ E - " split differently" E ? ------- E + "differently" E msgstr "Lyne verskillend gesny" tests/translate/tools/test_pretranslate.py:199: AssertionError ----------------------------- Captured stdout call ----------------------------- #: simple.label msgid "Line split " "differently" msgstr "Lyne verskillend gesny" =============================== warnings summary =============================== .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey Warning: Could not find accesskey for key.accesskey .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey Warning: Could not find accesskey for prop.accesskey .pybuild/cpython3_3.11_translate/build/tests/translate/convert/test_po2tmx.py: 26 warnings .pybuild/cpython3_3.11_translate/build/tests/translate/filters/test_pofilter.py: 13 warnings .pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_tbx.py: 17 warnings .pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_tmx.py: 24 warnings 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' .pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting Warning: DTD parse error: <string>:1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated .pybuild/cpython3_3.11_translate/build/tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting Warning: DTD file '' does not validate -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html --------------------------- snapshot report summary ---------------------------- 23 snapshots passed. =========================== short test summary info ============================ SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 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. XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 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 XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented ===== 3294 passed, 3 skipped, 39 xfailed, 90 warnings in 124.45s (0:02:04) ===== create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install -O--buildsystem=pybuild I: pybuild plugin_pyproject:178: Copying package built for python3.12 to destdir I: pybuild plugin_pyproject:178: Copying package built for python3.11 to destdir debian/rules execute_after_dh_auto_install make[1]: Entering directory '/build/reproducible-path/translate-toolkit-3.13.0' # delete unwanted cruft from /usr/lib for i in COPYING README.rst docs; do \ rm -rfv debian/*/usr/lib/python*/*-packages/translate/$i \ debian/*/usr/lib/pyshared/translate/$i; \ done # provide a link to the langmodels shipped in libexttextcat-data for i in debian/*/usr/lib/python*/*-packages/translate/; do \ mkdir $i/share; \ ln -s /usr/share/libexttextcat $i/share/langmodels; \ cp translate/share/stoplist-en $i/share/; \ done prename 's/\.sh$//' debian/*/usr/bin/build_firefox.sh Can't rename debian/*/usr/bin/build_firefox.sh debian/*/usr/bin/build_firefox: No such file or directory prename 's/\.py$//' debian/*/usr/bin/*.py Can't rename debian/*/usr/bin/*.py debian/*/usr/bin/*: No such file or directory # move the command line tools to the translate-toolkit package mkdir -p /build/reproducible-path/translate-toolkit-3.13.0/debian/translate-toolkit/usr/bin mv /build/reproducible-path/translate-toolkit-3.13.0/debian/python3-translate/usr/bin/* /build/reproducible-path/translate-toolkit-3.13.0/debian/translate-toolkit/usr/bin/ rm -rf /build/reproducible-path/translate-toolkit-3.13.0/debian/python3-translate/usr/bin mkdir -p man for script in /build/reproducible-path/translate-toolkit-3.13.0/debian/translate-toolkit/usr/bin/*; do \ case $(basename $script) in \ buildxpi*|build_tmdb|build_firefox*|get_moz_enUS*|junitmsgfmt|mozfunny2prop|po2web2py|pocompendium|pomigrate2|popuretext|poreencode|posplit|pocount|poglossary|pocommentclean|prop2mozfunny|pydiff|tmserver) \ ;; \ *) \ LC_ALL=C PYTHONPATH=. $script --manpage \ > man/$(basename $script).1 \ || rm -f man/$script.1; \ ;; \ esac; \ done make[1]: Leaving directory '/build/reproducible-path/translate-toolkit-3.13.0' dh_install -O--buildsystem=pybuild dh_installdocs -O--buildsystem=pybuild dh_sphinxdoc -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_installman -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dpkg-gencontrol: warning: package translate-toolkit-doc: substitution variable ${sphinxdoc:Built-Using} unused, but is defined dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'translate-toolkit' in '../translate-toolkit_3.13.0-1_all.deb'. dpkg-deb: building package 'translate-toolkit-doc' in '../translate-toolkit-doc_3.13.0-1_all.deb'. dpkg-deb: building package 'python3-translate' in '../python3-translate_3.13.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../translate-toolkit_3.13.0-1_amd64.buildinfo dpkg-genchanges --build=binary -O../translate-toolkit_3.13.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/704867 and its subdirectories I: Current time: Mon May 6 14:33:50 -12 2024 I: pbuilder-time-stamp: 1715049230 Tue May 7 02:33:52 UTC 2024 I: 1st build successful. Starting 2nd build on remote node ionos5-amd64.debian.net. Tue May 7 02:33:52 UTC 2024 I: Preparing to do remote build '2' on ionos5-amd64.debian.net. Tue May 7 02:37:48 UTC 2024 I: Deleting $TMPDIR on ionos5-amd64.debian.net. Tue May 7 02:37:48 UTC 2024 I: translate-toolkit_3.13.0-1_amd64.changes: Format: 1.8 Date: Mon, 06 May 2024 18:58:27 +1000 Source: translate-toolkit Binary: python3-translate translate-toolkit translate-toolkit-doc Architecture: all Version: 3.13.0-1 Distribution: unstable Urgency: medium Maintainer: Debian l10n developers <debian-l10n-devel@lists.alioth.debian.org> Changed-By: Stuart Prescott <stuart@debian.org> Description: python3-translate - Toolkit assisting in the localization of software (Python 3) translate-toolkit - Toolkit assisting in the localization of software translate-toolkit-doc - Toolkit assisting in the localization of software (documentation) Closes: 1068729 1070460 Changes: translate-toolkit (3.13.0-1) unstable; urgency=medium . * New upstream release. - Fixes some failing tests leading to FTBFS (Closes: #1070460) - Drops some old Mozilla scripts that are no longer used (Closes: #1068729) * Back out upstream change for python-aeidon whitespace output changes. * Update Standards-Version to 4.7.0 (no changes required). Checksums-Sha1: dc76d055c608b1f173e77376058765b5bc23f09d 315592 python3-translate_3.13.0-1_all.deb 3d778956958e51c9de8194e78f30714508af821a 675876 translate-toolkit-doc_3.13.0-1_all.deb e439b7d1d3b28140d021ee1e4c73874136635625 85248 translate-toolkit_3.13.0-1_all.deb a0759589e0e1a33d3d441af6ddeafbf5a2586d17 9059 translate-toolkit_3.13.0-1_amd64.buildinfo Checksums-Sha256: 912e459db070027a70c3c320ffb17b8c40f6bb3f967ccad4bc38fb5e95f1182d 315592 python3-translate_3.13.0-1_all.deb 52594e560e7e4563d1b0482dfe5558a9b2ce596b324845cb71b4b660fc8d29b8 675876 translate-toolkit-doc_3.13.0-1_all.deb 1bab5db4227312dd85bd7a84141f90168c66a16ac446162c5e358afc263dc569 85248 translate-toolkit_3.13.0-1_all.deb bff860879839dada434656bb1c14cf445612209e4a254c1045cb0f0887d9345f 9059 translate-toolkit_3.13.0-1_amd64.buildinfo Files: 83f48b8477fd8c53f173cdac8d70a5e0 315592 python optional python3-translate_3.13.0-1_all.deb 104cb425fe2248eba796baaf50278637 675876 doc optional translate-toolkit-doc_3.13.0-1_all.deb 2508db71cf9d4cc51bf8c50c706838a9 85248 devel optional translate-toolkit_3.13.0-1_all.deb cb1888e3d835ab591dbabe531f15fc1c 9059 python optional translate-toolkit_3.13.0-1_amd64.buildinfo Tue May 7 02:37:50 UTC 2024 I: diffoscope 265 will be used to compare the two builds: Running as unit: rb-diffoscope-amd64_1-4989.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/translate-toolkit_3.13.0-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/translate-toolkit_3.13.0-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/translate-toolkit_3.13.0-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/b1/translate-toolkit_3.13.0-1_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.e2gqMqaw/b2/translate-toolkit_3.13.0-1_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.371s) 0.371s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.028s) 0.028s 12 calls diffoscope.comparators.binary.FilesystemFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 704ms CPU time consumed: 705ms Tue May 7 02:37:51 UTC 2024 I: diffoscope 265 found no differences in the changes files, and a .buildinfo file also exists. Tue May 7 02:37:51 UTC 2024 I: translate-toolkit from unstable built successfully and reproducibly on amd64. Tue May 7 02:37:52 UTC 2024 I: Submitting .buildinfo files to external archives: Tue May 7 02:37:52 UTC 2024 I: Submitting 12K b1/translate-toolkit_3.13.0-1_amd64.buildinfo.asc Tue May 7 02:37:53 UTC 2024 I: Submitting 12K b2/translate-toolkit_3.13.0-1_amd64.buildinfo.asc Tue May 7 02:37:54 UTC 2024 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Tue May 7 02:37:54 UTC 2024 I: Done submitting .buildinfo files. Tue May 7 02:37:54 UTC 2024 I: Removing signed translate-toolkit_3.13.0-1_amd64.buildinfo.asc files: removed './b1/translate-toolkit_3.13.0-1_amd64.buildinfo.asc' removed './b2/translate-toolkit_3.13.0-1_amd64.buildinfo.asc'