I: pbuilder: network access will be disabled during build I: Current time: Fri Jun 14 01:53:31 -12 2024 I: pbuilder-time-stamp: 1718373211 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-2.dsc] I: copying [./translate-toolkit_3.13.0.orig.tar.gz] I: copying [./translate-toolkit_3.13.0-2.debian.tar.xz] I: Extracting source gpgv: Signature made Thu Jun 13 08:16:30 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-2.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-2.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 I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/710523/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='93e265f672674b46b0fd14c2986ad046' 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='710523' 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.RWqF7hgh/pbuilderrc_kFgR --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.RWqF7hgh/b1 --logfile b1/build.log translate-toolkit_3.13.0-2.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-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Jun 5 22:35 /bin -> usr/bin I: user script /srv/workspace/pbuilder/710523/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 (>> 1.14~), 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 ... 19713 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 (>> 1.14~); 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} 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, 139 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.4-1 [811 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 python3.12-minimal amd64 3.12.4-1 [2136 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.2-1 [1364 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.1-8.1 [96.2 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-2 [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 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 40 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.191-1+b1 [189 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 42 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-4+b1 [9395 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg-3 [670 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.21-14+b1 [1301 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.15.3 [901 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 python3-pkg-resources all 68.1.2-2 [241 kB] Get: 49 http://deb.debian.org/debian unstable/main amd64 python3-lib2to3 all 3.12.3-3.1 [77.7 kB] Get: 50 http://deb.debian.org/debian unstable/main amd64 python3-distutils all 3.12.3-3.1 [131 kB] Get: 51 http://deb.debian.org/debian unstable/main amd64 python3-setuptools all 68.1.2-2 [468 kB] Get: 52 http://deb.debian.org/debian unstable/main amd64 dh-python all 6.20240422 [107 kB] Get: 53 http://deb.debian.org/debian unstable/main amd64 libtext-iconv-perl amd64 1.7-8+b3 [14.4 kB] Get: 54 http://deb.debian.org/debian unstable/main amd64 emacsen-common all 3.0.5 [12.3 kB] Get: 55 http://deb.debian.org/debian unstable/main amd64 dictionaries-common all 1.29.7 [184 kB] Get: 56 http://deb.debian.org/debian unstable/main amd64 xml-core all 0.19 [20.1 kB] Get: 57 http://deb.debian.org/debian unstable/main amd64 docutils-common all 0.20.1+dfsg-3 [128 kB] Get: 58 http://deb.debian.org/debian unstable/main amd64 hunspell-en-us all 1:2020.12.07-2 [269 kB] Get: 59 http://deb.debian.org/debian unstable/main amd64 iso-codes all 4.16.0-1 [2936 kB] Get: 60 http://deb.debian.org/debian unstable/main amd64 libapr1t64 amd64 1.7.2-3.2 [102 kB] Get: 61 http://deb.debian.org/debian unstable/main amd64 libaprutil1t64 amd64 1.6.3-2 [88.3 kB] Get: 62 http://deb.debian.org/debian unstable/main amd64 libaspell15 amd64 0.60.8.1-1+b1 [334 kB] Get: 63 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.1-1 [22.9 kB] Get: 64 http://deb.debian.org/debian unstable/main amd64 libglib2.0-0t64 amd64 2.80.3-1 [1485 kB] Get: 65 http://deb.debian.org/debian unstable/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10+b2 [233 kB] Get: 66 http://deb.debian.org/debian unstable/main amd64 libenchant-2-2 amd64 2.3.3-2+b2 [47.9 kB] Get: 67 http://deb.debian.org/debian unstable/main amd64 libexttextcat-data all 3.4.7-1 [176 kB] Get: 68 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.20.1-6+b1 [33.3 kB] Get: 69 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.20.1-6+b1 [79.8 kB] Get: 70 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-3 [8952 B] Get: 71 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.20.1-6+b1 [333 kB] Get: 72 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.20.1-6+b1 [135 kB] Get: 73 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 74 http://deb.debian.org/debian unstable/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 75 http://deb.debian.org/debian unstable/main amd64 libjs-sphinxdoc all 7.2.6-8 [150 kB] Get: 76 http://deb.debian.org/debian unstable/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 77 http://deb.debian.org/debian unstable/main amd64 libpython3.12-stdlib amd64 3.12.4-1 [1948 kB] Get: 78 http://deb.debian.org/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-6 [19.5 kB] Get: 79 http://deb.debian.org/debian unstable/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-6 [56.9 kB] Get: 80 http://deb.debian.org/debian unstable/main amd64 libserf-1-1 amd64 1.3.10-2 [52.7 kB] Get: 81 http://deb.debian.org/debian unstable/main amd64 libutf8proc3 amd64 2.9.0-1+b1 [60.6 kB] Get: 82 http://deb.debian.org/debian unstable/main amd64 libsvn1 amd64 1.14.3-1+b4 [1414 kB] Get: 83 http://deb.debian.org/debian unstable/main amd64 libxslt1.1 amd64 1.1.35-1+b1 [232 kB] Get: 84 http://deb.debian.org/debian unstable/main amd64 python3-packaging all 24.0-1 [45.5 kB] Get: 85 http://deb.debian.org/debian unstable/main amd64 python3-pyproject-hooks all 1.1.0-1 [11.3 kB] Get: 86 http://deb.debian.org/debian unstable/main amd64 python3-toml all 0.10.2-1 [16.2 kB] Get: 87 http://deb.debian.org/debian unstable/main amd64 python3-wheel all 0.43.0-1 [52.5 kB] Get: 88 http://deb.debian.org/debian unstable/main amd64 python3-build all 1.2.1-1 [34.1 kB] Get: 89 http://deb.debian.org/debian unstable/main amd64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 90 http://deb.debian.org/debian unstable/main amd64 pybuild-plugin-pyproject all 6.20240422 [11.1 kB] Get: 91 http://deb.debian.org/debian unstable/main amd64 python-babel-localedata all 2.14.0-1 [5701 kB] Get: 92 http://deb.debian.org/debian unstable/main amd64 python3-aeidon all 1.14.1-1 [221 kB] Get: 93 http://deb.debian.org/debian unstable/main amd64 python3-alabaster all 0.7.16-0.1 [27.9 kB] Get: 94 http://deb.debian.org/debian unstable/main amd64 python3.12 amd64 3.12.4-1 [664 kB] Get: 95 http://deb.debian.org/debian unstable/main amd64 python3-all amd64 3.11.8-1 [1056 B] Get: 96 http://deb.debian.org/debian unstable/main amd64 python3-babel all 2.14.0-1 [111 kB] Get: 97 http://deb.debian.org/debian unstable/main amd64 python3-soupsieve all 2.5-1 [38.1 kB] Get: 98 http://deb.debian.org/debian unstable/main amd64 python3-bs4 all 4.12.3-1 [133 kB] Get: 99 http://deb.debian.org/debian unstable/main amd64 python3-certifi all 2023.11.17-1 [155 kB] Get: 100 http://deb.debian.org/debian unstable/main amd64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 101 http://deb.debian.org/debian unstable/main amd64 python3-charset-normalizer all 3.3.2-1 [51.6 kB] Get: 102 http://deb.debian.org/debian unstable/main amd64 python3-more-itertools all 10.2.0-1 [59.9 kB] Get: 103 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.functools all 4.0.0-1 [10.6 kB] Get: 104 http://deb.debian.org/debian unstable/main amd64 python3-cheroot all 10.0.0+ds1-2 [79.9 kB] Get: 105 http://deb.debian.org/debian unstable/main amd64 python3-six all 1.16.0-6 [16.3 kB] Get: 106 http://deb.debian.org/debian unstable/main amd64 python3-dateutil all 2.9.0-2 [79.4 kB] Get: 107 http://deb.debian.org/debian unstable/main amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] Get: 108 http://deb.debian.org/debian unstable/main amd64 python3-roman all 3.3-3 [9880 B] Get: 109 http://deb.debian.org/debian unstable/main amd64 python3-docutils all 0.20.1+dfsg-3 [389 kB] Get: 110 http://deb.debian.org/debian unstable/main amd64 python3-enchant all 3.2.2-1 [39.2 kB] Get: 111 http://deb.debian.org/debian unstable/main amd64 python3-idna all 3.6-2.1 [38.6 kB] Get: 112 http://deb.debian.org/debian unstable/main amd64 python3-imagesize all 1.4.1-1 [6688 B] Get: 113 http://deb.debian.org/debian unstable/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 114 http://deb.debian.org/debian unstable/main amd64 python3-iniparse all 0.5-2 [21.1 kB] Get: 115 http://deb.debian.org/debian unstable/main amd64 python3-markupsafe amd64 2.1.5-1 [14.5 kB] Get: 116 http://deb.debian.org/debian unstable/main amd64 python3-jinja2 all 3.1.3-1 [119 kB] Get: 117 http://deb.debian.org/debian unstable/main amd64 python3-rapidfuzz amd64 3.6.2+ds-3 [2813 kB] Get: 118 http://deb.debian.org/debian unstable/main amd64 python3-levenshtein amd64 0.25.1-3 [145 kB] Get: 119 http://deb.debian.org/debian unstable/main amd64 python3-lxml amd64 5.2.1-1 [1995 kB] Get: 120 http://deb.debian.org/debian unstable/main amd64 python3-mistletoe all 1.3.0-1 [37.4 kB] Get: 121 http://deb.debian.org/debian unstable/main amd64 python3-ply all 3.11-6 [63.7 kB] Get: 122 http://deb.debian.org/debian unstable/main amd64 python3-phply all 1.2.6-1 [47.4 kB] Get: 123 http://deb.debian.org/debian unstable/main amd64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 124 http://deb.debian.org/debian unstable/main amd64 python3-pygments all 2.18.0+dfsg-1 [836 kB] Get: 125 http://deb.debian.org/debian unstable/main amd64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 126 http://deb.debian.org/debian unstable/main amd64 python3-pytest all 8.2.2-2 [248 kB] Get: 127 http://deb.debian.org/debian unstable/main amd64 python3-urllib3 all 2.0.7-2 [111 kB] Get: 128 http://deb.debian.org/debian unstable/main amd64 python3-requests all 2.32.3+dfsg-1 [71.9 kB] Get: 129 http://deb.debian.org/debian unstable/main amd64 python3-ruamel.yaml.clib amd64 0.2.8+ds-1 [188 kB] Get: 130 http://deb.debian.org/debian unstable/main amd64 python3-ruamel.yaml all 0.18.6+ds-3 [145 kB] Get: 131 http://deb.debian.org/debian unstable/main amd64 python3-simplejson amd64 3.19.2-1+b1 [69.4 kB] Get: 132 http://deb.debian.org/debian unstable/main amd64 python3-snowballstemmer all 2.2.0-4 [58.0 kB] Get: 133 http://deb.debian.org/debian unstable/main amd64 sphinx-common all 7.2.6-8 [702 kB] Get: 134 http://deb.debian.org/debian unstable/main amd64 python3-sphinx all 7.2.6-8 [552 kB] Get: 135 http://deb.debian.org/debian unstable/main amd64 python3-syrupy all 4.6.1-1 [51.1 kB] Get: 136 http://deb.debian.org/debian unstable/main amd64 python3-vobject all 0.9.6.1-2 [40.2 kB] Get: 137 http://deb.debian.org/debian unstable/main amd64 python3-xapian amd64 1.4.25-1 [672 kB] Get: 138 http://deb.debian.org/debian unstable/main amd64 rename all 2.02-1 [21.8 kB] Get: 139 http://deb.debian.org/debian unstable/main amd64 subversion amd64 1.14.3-1+b4 [960 kB] Fetched 59.7 MB in 2s (39.4 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 ... 19713 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 ... 20029 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 ... 21021 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.4-1_amd64.deb ... Unpacking libpython3.12-minimal:amd64 (3.12.4-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../002-python3.12-minimal_3.12.4-1_amd64.deb ... Unpacking python3.12-minimal (3.12.4-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.2-1_amd64.deb ... Unpacking openssl (3.2.2-1) ... 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.1-8.1_amd64.deb ... Unpacking bsdextrautils (2.40.1-8.1) ... 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-2_amd64.deb ... Unpacking man-db (2.12.1-2) ... 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 libfile-stripnondeterminism-perl. Preparing to unpack .../025-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../026-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../027-libelf1t64_0.191-1+b1_amd64.deb ... Unpacking libelf1t64:amd64 (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../028-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../029-libicu72_72.1-4+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-4+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../030-libxml2_2.12.7+dfsg-3_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg-3) ... Selecting previously unselected package gettext. Preparing to unpack .../031-gettext_0.21-14+b1_amd64.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../032-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 .../033-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../034-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../035-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 .../036-python3-lib2to3_3.12.3-3.1_all.deb ... Unpacking python3-lib2to3 (3.12.3-3.1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../037-python3-distutils_3.12.3-3.1_all.deb ... Unpacking python3-distutils (3.12.3-3.1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../038-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../039-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package libtext-iconv-perl:amd64. Preparing to unpack .../040-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 .../041-emacsen-common_3.0.5_all.deb ... Unpacking emacsen-common (3.0.5) ... Selecting previously unselected package dictionaries-common. Preparing to unpack .../042-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 .../043-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../044-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 .../045-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 .../046-iso-codes_4.16.0-1_all.deb ... Unpacking iso-codes (4.16.0-1) ... Selecting previously unselected package libapr1t64:amd64. Preparing to unpack .../047-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 .../048-libaprutil1t64_1.6.3-2_amd64.deb ... Unpacking libaprutil1t64:amd64 (1.6.3-2) ... Selecting previously unselected package libaspell15:amd64. Preparing to unpack .../049-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 .../050-libcom-err2_1.47.1-1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../051-libglib2.0-0t64_2.80.3-1_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.80.3-1) ... Selecting previously unselected package libhunspell-1.7-0:amd64. Preparing to unpack .../052-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 .../053-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 .../054-libexttextcat-data_3.4.7-1_all.deb ... Unpacking libexttextcat-data (3.4.7-1) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../055-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 .../056-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 .../057-libkeyutils1_1.6.3-3_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-3) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../058-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 .../059-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 .../060-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 .../061-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 .../062-libjs-sphinxdoc_7.2.6-8_all.deb ... Unpacking libjs-sphinxdoc (7.2.6-8) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../063-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libpython3.12-stdlib:amd64. Preparing to unpack .../064-libpython3.12-stdlib_3.12.4-1_amd64.deb ... Unpacking libpython3.12-stdlib:amd64 (3.12.4-1) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../065-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 .../066-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 .../067-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 .../068-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 .../069-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 .../070-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 .../071-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../072-python3-pyproject-hooks_1.1.0-1_all.deb ... Unpacking python3-pyproject-hooks (1.1.0-1) ... Selecting previously unselected package python3-toml. Preparing to unpack .../073-python3-toml_0.10.2-1_all.deb ... Unpacking python3-toml (0.10.2-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../074-python3-wheel_0.43.0-1_all.deb ... Unpacking python3-wheel (0.43.0-1) ... Selecting previously unselected package python3-build. Preparing to unpack .../075-python3-build_1.2.1-1_all.deb ... Unpacking python3-build (1.2.1-1) ... Selecting previously unselected package python3-installer. Preparing to unpack .../076-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 .../077-pybuild-plugin-pyproject_6.20240422_all.deb ... Unpacking pybuild-plugin-pyproject (6.20240422) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../078-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 .../079-python3-aeidon_1.14.1-1_all.deb ... Unpacking python3-aeidon (1.14.1-1) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../080-python3-alabaster_0.7.16-0.1_all.deb ... Unpacking python3-alabaster (0.7.16-0.1) ... Selecting previously unselected package python3.12. Preparing to unpack .../081-python3.12_3.12.4-1_amd64.deb ... Unpacking python3.12 (3.12.4-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../082-python3-all_3.11.8-1_amd64.deb ... Unpacking python3-all (3.11.8-1) ... Selecting previously unselected package python3-babel. Preparing to unpack .../083-python3-babel_2.14.0-1_all.deb ... Unpacking python3-babel (2.14.0-1) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../084-python3-soupsieve_2.5-1_all.deb ... Unpacking python3-soupsieve (2.5-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../085-python3-bs4_4.12.3-1_all.deb ... Unpacking python3-bs4 (4.12.3-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../086-python3-certifi_2023.11.17-1_all.deb ... Unpacking python3-certifi (2023.11.17-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../087-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 .../088-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 .../089-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 .../090-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 .../091-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 .../092-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../093-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 .../094-python3-diff-match-patch_20230430-1_all.deb ... Unpacking python3-diff-match-patch (20230430-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../095-python3-roman_3.3-3_all.deb ... Unpacking python3-roman (3.3-3) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../096-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 .../097-python3-enchant_3.2.2-1_all.deb ... Unpacking python3-enchant (3.2.2-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../098-python3-idna_3.6-2.1_all.deb ... Unpacking python3-idna (3.6-2.1) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../099-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../100-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-iniparse. Preparing to unpack .../101-python3-iniparse_0.5-2_all.deb ... Unpacking python3-iniparse (0.5-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../102-python3-markupsafe_2.1.5-1_amd64.deb ... Unpacking python3-markupsafe (2.1.5-1) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../103-python3-jinja2_3.1.3-1_all.deb ... Unpacking python3-jinja2 (3.1.3-1) ... Selecting previously unselected package python3-rapidfuzz. Preparing to unpack .../104-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 .../105-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 .../106-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 .../107-python3-mistletoe_1.3.0-1_all.deb ... Unpacking python3-mistletoe (1.3.0-1) ... Selecting previously unselected package python3-ply. Preparing to unpack .../108-python3-ply_3.11-6_all.deb ... Unpacking python3-ply (3.11-6) ... Selecting previously unselected package python3-phply. Preparing to unpack .../109-python3-phply_1.2.6-1_all.deb ... Unpacking python3-phply (1.2.6-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../110-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../111-python3-pygments_2.18.0+dfsg-1_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-1) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../112-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../113-python3-pytest_8.2.2-2_all.deb ... Unpacking python3-pytest (8.2.2-2) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../114-python3-urllib3_2.0.7-2_all.deb ... Unpacking python3-urllib3 (2.0.7-2) ... Selecting previously unselected package python3-requests. Preparing to unpack .../115-python3-requests_2.32.3+dfsg-1_all.deb ... Unpacking python3-requests (2.32.3+dfsg-1) ... Selecting previously unselected package python3-ruamel.yaml.clib:amd64. Preparing to unpack .../116-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 .../117-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 .../118-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 .../119-python3-snowballstemmer_2.2.0-4_all.deb ... Unpacking python3-snowballstemmer (2.2.0-4) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../120-sphinx-common_7.2.6-8_all.deb ... Unpacking sphinx-common (7.2.6-8) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../121-python3-sphinx_7.2.6-8_all.deb ... Unpacking python3-sphinx (7.2.6-8) ... Selecting previously unselected package python3-syrupy. Preparing to unpack .../122-python3-syrupy_4.6.1-1_all.deb ... Unpacking python3-syrupy (4.6.1-1) ... Selecting previously unselected package python3-vobject. Preparing to unpack .../123-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 .../124-python3-xapian_1.4.25-1_amd64.deb ... Unpacking python3-xapian (1.4.25-1) ... Selecting previously unselected package rename. Preparing to unpack .../125-rename_2.02-1_all.deb ... Unpacking rename (2.02-1) ... Selecting previously unselected package subversion. Preparing to unpack .../126-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.1-8.1) ... 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.4-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-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: Fri Jun 14 13:54:30 UTC 2024. Universal Time is now: Fri Jun 14 13:54:30 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.3-1) ... 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 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.2-1) ... Setting up readline-common (8.2-4) ... Setting up libxml2:amd64 (2.12.7+dfsg-3) ... 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.14.0-1) ... Setting up python3.12-minimal (3.12.4-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-8) ... Setting up libreadline8t64:amd64 (8.2-4) ... Setting up dh-strip-nondeterminism (1.14.0-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.4-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.4-1) ... Setting up libserf-1-1:amd64 (1.3.10-2) ... Setting up man-db (2.12.1-2) ... Not building database; man-db/auto-update is not 'true'. Setting up sphinx-common (7.2.6-8) ... 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.1.0-1) ... 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.1) ... Setting up python3-toml (0.10.2-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-urllib3 (2.0.7-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-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-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.14.1-1) ... 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.2.2-2) ... Setting up python3-alabaster (0.7.16-0.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.18.0+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.32.3+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-13) ... 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-8) ... 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-2_source.changes dpkg-buildpackage: info: source package translate-toolkit dpkg-buildpackage: info: source version 3.13.0-2 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-twu1271e/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-7l6bvorv/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.4, pytest-8.2.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 0x7f8f03c22a50> @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 0x7f8ef3982b70>>() E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7f8ef3982b70>> = <translate.storage.pypo.pounit object at 0x7f8ef3982b70>.hasplural tests/translate/storage/test_po.py:374: AssertionError _________________ TestPYPOFile.test_makeobsolete_untranslated __________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7f8f03c22db0> @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 0x7f8f03c21a00> @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 0x7f8ef3861160> store = <translate.storage.pypo.pofile object at 0x7f8ef3860a40> 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 0x7f8f03bd5280> @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 0x7f8f03bd5280> 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 0x7f8f03339e20> @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 0x7f8f032fa360> @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 0x7f8f032f9070> @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 0x7f8f032f93a0> @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 0x7f8f032f9340> @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 0x7f8f032fa660> @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 0x7f8f032f9130> @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 0x7f8f032f8d40> @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 =============================== tests/translate/storage/test_cpo.py:15 Warning: Module 'translate.storage.cpo' was found, but when imported by pytest it raised: ImportError('gettext PO library not found') In pytest 9.1 this warning will become an error by default. You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror .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, 91 warnings in 42.18s =========== 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.2.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 0x7fc2bc93b350> @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 0x7fc2b9b5c690> ___________ TestDTD2POCommand.test_accelerator_keys_not_in_sentence ____________ self = <tests.translate.convert.test_dtd2po.TestDTD2POCommand object at 0x7fc2bc99f6d0> @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 0x7fc2ba04acd0> ________________ TestPO2Php.test_merging_propertyless_template _________________ self = <tests.translate.convert.test_po2php.TestPO2Php object at 0x7fc2bbeb2410> @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 0x7fc2bbea4e10> @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 0x7fc2bb84c890> @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 0x7fc2ba854050> @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 0x7fc2ba893490>, <translate.storage.pypo.pounit object at 0x7fc2baee3190>, <translate.storage.pypo.pounit object at 0x7fc2b9b4cf90>]) E + where [<translate.storage.pypo.pounit object at 0x7fc2ba893490>, <translate.storage.pypo.pounit object at 0x7fc2baee3190>, <translate.storage.pypo.pounit object at 0x7fc2b9b4cf90>] = <translate.storage.pypo.pofile object at 0x7fc2ba854050>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fc2ba854050> _________________ TestPOT2PO.test_merging_accelerator_changes __________________ self = <tests.translate.convert.test_pot2po.TestPOT2PO object at 0x7fc2bb84da90> @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 0x7fc2ba8b5710> @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 0x7fc2ba8b5790>, <translate.storage.pypo.pounit object at 0x7fc2ba584f50>, <translate.storage.pypo.pounit object at 0x7fc2baef0e90>]) E + where [<translate.storage.pypo.pounit object at 0x7fc2ba8b5790>, <translate.storage.pypo.pounit object at 0x7fc2ba584f50>, <translate.storage.pypo.pounit object at 0x7fc2baef0e90>] = <translate.storage.pypo.pofile object at 0x7fc2ba8b5710>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fc2ba8b5710> ____________________ TestPOT2PO.test_lines_cut_differently _____________________ self = <tests.translate.convert.test_pot2po.TestPOT2PO object at 0x7fc2bb84dfd0> @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 0x7fc2bb829f10> @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 0x7fc2bae86bd0> @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 0x7fc2bae85790>, <translate.storage.pypo.pounit object at 0x7fc2ba8a6d10>, <translate.storage.pypo.pounit object at 0x7fc2ba8a5350>]) E + where [<translate.storage.pypo.pounit object at 0x7fc2bae85790>, <translate.storage.pypo.pounit object at 0x7fc2ba8a6d10>, <translate.storage.pypo.pounit object at 0x7fc2ba8a5350>] = <translate.storage.pypo.pofile object at 0x7fc2bae86bd0>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fc2bae86bd0> ______________ TestPOT2POCommand.test_merging_accelerator_changes ______________ self = <tests.translate.convert.test_pot2po.TestPOT2POCommand object at 0x7fc2bb81e010> @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 0x7fc2ba871890> @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 0x7fc2ba6f5690>, <translate.storage.pypo.pounit object at 0x7fc2ba6f50d0>, <translate.storage.pypo.pounit object at 0x7fc2ba6f5b50>]) E + where [<translate.storage.pypo.pounit object at 0x7fc2ba6f5690>, <translate.storage.pypo.pounit object at 0x7fc2ba6f50d0>, <translate.storage.pypo.pounit object at 0x7fc2ba6f5b50>] = <translate.storage.pypo.pofile object at 0x7fc2ba871890>.units tests/translate/convert/test_pot2po.py:25: AssertionError ----------------------------- Captured stdout call ----------------------------- <translate.storage.pypo.pofile object at 0x7fc2ba871890> _________________ TestPOT2POCommand.test_lines_cut_differently _________________ self = <tests.translate.convert.test_pot2po.TestPOT2POCommand object at 0x7fc2bb81ea10> @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 0x7fc2b9e14bd0> 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 0x7fc2b9e14e50> 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 0x7fc2bba5ce90> @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 0x7fc2b9e14bd0> 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 0x7fc2baebe290> 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 0x7fc2baebf250> 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 0x7fc2bbb78cd0> @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 0x7fc2baebe290> 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 0x7fc2ba27ae90>>, 'This uses Mozilla of course', 'hierdie gebruik Mozilla natuurlik') E + where <bound method StandardChecker.musttranslatewords of <translate.filters.checks.StandardChecker object at 0x7fc2ba27ae90>> = <translate.filters.checks.StandardChecker object at 0x7fc2ba27ae90>.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 0x7fc2ba2f3690>>, "Path: '%S'", 'مسیر: "%S"\u200e') E + where <bound method StandardChecker.singlequoting of <translate.filters.checks.StandardChecker object at 0x7fc2ba2f3690>> = <translate.filters.checks.StandardChecker object at 0x7fc2ba2f3690>.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 0x7fc2ba2ade10>>, '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 0x7fc2ba2ade10>> = <translate.filters.checks.MozillaChecker object at 0x7fc2ba2ade10>.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 0x7fc2b9c2c9d0> @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 0x7fc2b993e590> @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 0x7fc2b993e590>.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 0x7fc2b9d08250> @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 0x7fc2b9d0a290> @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 0x7fc2b9ffc510> @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 0x7fc2b9ffc510> 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 0x7fc2b9ffc510>.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 0x7fc2ba61ab10> @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 0x7fc2b85131d0>>() E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7fc2b85131d0>> = <translate.storage.pypo.pounit object at 0x7fc2b85131d0>.hasplural tests/translate/storage/test_po.py:374: AssertionError __________________ TestPOFile.test_makeobsolete_untranslated ___________________ self = <tests.translate.storage.test_po.TestPOFile object at 0x7fc2ba61acd0> @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 0x7fc2ba954150> @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 0x7fc2ba954150> 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 0x7fc2ba8d0f90> @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 0x7fc2b24a5010>>() E + where <bound method pounit.hasplural of <translate.storage.pypo.pounit object at 0x7fc2b24a5010>> = <translate.storage.pypo.pounit object at 0x7fc2b24a5010>.hasplural tests/translate/storage/test_po.py:374: AssertionError _________________ TestPYPOFile.test_makeobsolete_untranslated __________________ self = <tests.translate.storage.test_pypo.TestPYPOFile object at 0x7fc2bb00ddd0> @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 0x7fc2ba867bd0> @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 0x7fc2b2428990> store = <translate.storage.pypo.pofile object at 0x7fc2b2428e50> 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 0x7fc2baa02e90> @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 0x7fc2baa02e90> 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 0x7fc2ba01e690> @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 0x7fc2bacb7110> @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 0x7fc2ba0a9e90> @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 0x7fc2ba2d4a50> @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 0x7fc2ba2d5890> @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 0x7fc2ba3091d0> @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 0x7fc2bbb917d0> @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 0x7fc2bbb92910> @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 =============================== tests/translate/storage/test_cpo.py:15 Warning: Module 'translate.storage.cpo' was found, but when imported by pytest it raised: ImportError('gettext PO library not found') In pytest 9.1 this warning will become an error by default. You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror .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, 91 warnings in 41.43s =========== 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-2_all.deb'. dpkg-deb: building package 'translate-toolkit-doc' in '../translate-toolkit-doc_3.13.0-2_all.deb'. dpkg-deb: building package 'python3-translate' in '../python3-translate_3.13.0-2_all.deb'. dpkg-genbuildinfo --build=binary -O../translate-toolkit_3.13.0-2_amd64.buildinfo dpkg-genchanges --build=binary -O../translate-toolkit_3.13.0-2_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: not including original 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/710523 and its subdirectories I: Current time: Fri Jun 14 01:59:57 -12 2024 I: pbuilder-time-stamp: 1718373597