0s autopkgtest [09:59:25]: starting date and time: 2024-10-30 09:59:25+0000 0s autopkgtest [09:59:25]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [09:59:25]: host juju-7f2275-prod-proposed-migration-environment-14; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.81wrvc81/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:setuptools --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/75.2.0-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-14@bos03-s390x-3.secgroup --name adt-plucky-s390x-translate-toolkit-20241030-095925-juju-7f2275-prod-proposed-migration-environment-14-8cd502c5-5103-4b93-9d1e-4d603528971a --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-14 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 119s autopkgtest [10:01:24]: testbed dpkg architecture: s390x 119s autopkgtest [10:01:24]: testbed apt version: 2.9.8 119s autopkgtest [10:01:24]: @@@@@@@@@@@@@@@@@@@@ test bed setup 119s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 120s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [28.1 kB] 120s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 120s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [2840 B] 120s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [212 kB] 120s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [42.1 kB] 120s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [234 kB] 120s Fetched 600 kB in 1s (985 kB/s) 120s Reading package lists... 122s Reading package lists... 122s Building dependency tree... 122s Reading state information... 122s Calculating upgrade... 122s The following packages were automatically installed and are no longer required: 122s libperl5.38t64 perl-modules-5.38 122s Use 'sudo apt autoremove' to remove them. 122s The following NEW packages will be installed: 122s libperl5.40 perl-modules-5.40 python3-jaraco.text 122s The following packages will be upgraded: 122s info install-info libkeyutils1 liblocale-gettext-perl libtext-charwidth-perl 122s libtext-iconv-perl perl perl-base python3-pkg-resources python3-setuptools 122s vim-common vim-tiny xxd 122s 13 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 122s Need to get 12.6 MB of archives. 122s After this operation, 50.3 MB of additional disk space will be used. 122s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x perl-modules-5.40 all 5.40.0-6 [3214 kB] 123s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libperl5.40 s390x 5.40.0-6 [4984 kB] 123s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x perl s390x 5.40.0-6 [262 kB] 123s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x perl-base s390x 5.40.0-6 [1971 kB] 123s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x liblocale-gettext-perl s390x 1.07-7build1 [15.9 kB] 123s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libtext-iconv-perl s390x 1.7-8build4 [13.8 kB] 123s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libtext-charwidth-perl s390x 0.04-11build4 [9646 B] 123s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x install-info s390x 7.1.1-1 [64.8 kB] 123s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libkeyutils1 s390x 1.6.3-4ubuntu2 [9960 B] 123s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x vim-tiny s390x 2:9.1.0777-1ubuntu1 [664 kB] 123s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x vim-common all 2:9.1.0777-1ubuntu1 [394 kB] 123s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x xxd s390x 2:9.1.0777-1ubuntu1 [66.5 kB] 123s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x info s390x 7.1.1-1 [149 kB] 123s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jaraco.text all 4.0.0-1 [11.5 kB] 123s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-pkg-resources all 75.2.0-1 [134 kB] 123s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-setuptools all 75.2.0-1 [657 kB] 124s Fetched 12.6 MB in 1s (11.9 MB/s) 124s (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 ... 55329 files and directories currently installed.) 124s Preparing to unpack .../perl_5.40.0-6_s390x.deb ... 124s Unpacking perl (5.40.0-6) over (5.38.2-5) ... 124s Selecting previously unselected package perl-modules-5.40. 124s Preparing to unpack .../perl-modules-5.40_5.40.0-6_all.deb ... 124s Unpacking perl-modules-5.40 (5.40.0-6) ... 124s Selecting previously unselected package libperl5.40:s390x. 124s Preparing to unpack .../libperl5.40_5.40.0-6_s390x.deb ... 124s Unpacking libperl5.40:s390x (5.40.0-6) ... 124s Preparing to unpack .../perl-base_5.40.0-6_s390x.deb ... 124s Unpacking perl-base (5.40.0-6) over (5.38.2-5) ... 124s Setting up perl-base (5.40.0-6) ... 124s (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 ... 57408 files and directories currently installed.) 124s Preparing to unpack .../liblocale-gettext-perl_1.07-7build1_s390x.deb ... 124s Unpacking liblocale-gettext-perl (1.07-7build1) over (1.07-7) ... 124s Preparing to unpack .../libtext-iconv-perl_1.7-8build4_s390x.deb ... 124s Unpacking libtext-iconv-perl:s390x (1.7-8build4) over (1.7-8build3) ... 124s Preparing to unpack .../libtext-charwidth-perl_0.04-11build4_s390x.deb ... 124s Unpacking libtext-charwidth-perl:s390x (0.04-11build4) over (0.04-11build3) ... 124s Preparing to unpack .../install-info_7.1.1-1_s390x.deb ... 124s Unpacking install-info (7.1.1-1) over (7.1-3build2) ... 124s Setting up install-info (7.1.1-1) ... 124s (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 ... 57408 files and directories currently installed.) 124s Preparing to unpack .../0-libkeyutils1_1.6.3-4ubuntu2_s390x.deb ... 124s Unpacking libkeyutils1:s390x (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 124s Preparing to unpack .../1-vim-tiny_2%3a9.1.0777-1ubuntu1_s390x.deb ... 124s Unpacking vim-tiny (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 124s Preparing to unpack .../2-vim-common_2%3a9.1.0777-1ubuntu1_all.deb ... 124s Unpacking vim-common (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 124s Preparing to unpack .../3-xxd_2%3a9.1.0777-1ubuntu1_s390x.deb ... 124s Unpacking xxd (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 124s Preparing to unpack .../4-info_7.1.1-1_s390x.deb ... 124s Unpacking info (7.1.1-1) over (7.1-3build2) ... 124s Selecting previously unselected package python3-jaraco.text. 124s Preparing to unpack .../5-python3-jaraco.text_4.0.0-1_all.deb ... 124s Unpacking python3-jaraco.text (4.0.0-1) ... 124s Preparing to unpack .../6-python3-pkg-resources_75.2.0-1_all.deb ... 124s Unpacking python3-pkg-resources (75.2.0-1) over (74.1.2-1) ... 124s Preparing to unpack .../7-python3-setuptools_75.2.0-1_all.deb ... 125s Unpacking python3-setuptools (75.2.0-1) over (74.1.2-1) ... 125s Setting up python3-pkg-resources (75.2.0-1) ... 125s Setting up libtext-iconv-perl:s390x (1.7-8build4) ... 125s Setting up libtext-charwidth-perl:s390x (0.04-11build4) ... 125s Setting up libkeyutils1:s390x (1.6.3-4ubuntu2) ... 125s Setting up xxd (2:9.1.0777-1ubuntu1) ... 125s Setting up vim-common (2:9.1.0777-1ubuntu1) ... 125s Installing new version of config file /etc/vim/vimrc ... 125s Setting up python3-jaraco.text (4.0.0-1) ... 125s Setting up perl-modules-5.40 (5.40.0-6) ... 125s Setting up info (7.1.1-1) ... 125s Setting up liblocale-gettext-perl (1.07-7build1) ... 125s Setting up python3-setuptools (75.2.0-1) ... 126s Setting up vim-tiny (2:9.1.0777-1ubuntu1) ... 126s Setting up libperl5.40:s390x (5.40.0-6) ... 126s Setting up perl (5.40.0-6) ... 126s Processing triggers for libc-bin (2.40-1ubuntu3) ... 126s Processing triggers for man-db (2.12.1-3) ... 127s Processing triggers for install-info (7.1.1-1) ... 127s Reading package lists... 127s Building dependency tree... 127s Reading state information... 127s The following packages will be REMOVED: 127s libperl5.38t64* perl-modules-5.38* 127s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 127s After this operation, 49.5 MB disk space will be freed. 127s (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 ... 57417 files and directories currently installed.) 127s Removing libperl5.38t64:s390x (5.38.2-5) ... 127s Removing perl-modules-5.38 (5.38.2-5) ... 127s Processing triggers for man-db (2.12.1-3) ... 128s Processing triggers for libc-bin (2.40-1ubuntu3) ... 128s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 128s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 128s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 128s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 129s Reading package lists... 129s Reading package lists... 129s Building dependency tree... 129s Reading state information... 129s Calculating upgrade... 129s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 129s Reading package lists... 129s Building dependency tree... 129s Reading state information... 130s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 132s autopkgtest [10:01:37]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 12:49:35 UTC 2024 132s autopkgtest [10:01:37]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 135s Get:1 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.13.2-2 (dsc) [3132 B] 135s Get:2 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.13.2-2 (tar) [1173 kB] 135s Get:3 http://ftpmaster.internal/ubuntu plucky/universe translate-toolkit 3.13.2-2 (diff) [24.5 kB] 135s gpgv: Signature made Mon Jul 22 07:46:21 2024 UTC 135s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 135s gpgv: Can't check signature: No public key 135s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.2-2.dsc: no acceptable signature found 135s autopkgtest [10:01:40]: testing package translate-toolkit version 3.13.2-2 135s autopkgtest [10:01:40]: build not needed 136s autopkgtest [10:01:41]: test translate-toolkit: preparing testbed 138s Reading package lists... 138s Building dependency tree... 138s Reading state information... 138s Starting pkgProblemResolver with broken count: 0 138s Starting 2 pkgProblemResolver with broken count: 0 138s Done 138s The following additional packages will be installed: 138s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 138s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 138s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 138s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 138s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 138s python3-levenshtein python3-lxml python3-mistletoe python3-phply python3-ply 138s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 138s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 138s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 138s translate-toolkit 138s Suggested packages: 138s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 138s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 138s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 138s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 138s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 138s subversion-tools 138s Recommended packages: 138s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 138s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 138s The following NEW packages will be installed: 138s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 138s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 138s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 138s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 138s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 138s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 138s python3-phply python3-ply python3-pycountry python3-rapidfuzz 138s python3-ruamel.yaml python3-ruamel.yaml.clib python3-simplejson python3-six 138s python3-soupsieve python3-translate python3-vobject python3-wcwidth 138s python3-xapian subversion translate-toolkit 138s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 138s Need to get 11.1 MB/11.1 MB of archives. 138s After this operation, 48.8 MB of additional disk space will be used. 138s Get:1 /tmp/autopkgtest.Ycs8t9/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [888 B] 139s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x emacsen-common all 3.0.5 [12.1 kB] 139s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x dictionaries-common all 1.29.7 [188 kB] 139s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 14.2.0-7ubuntu1 [151 kB] 139s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x gettext s390x 0.22.5-2 [996 kB] 139s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 139s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libapr1t64 s390x 1.7.2-3.2ubuntu1 [114 kB] 139s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu1 [98.3 kB] 139s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 139s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 139s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 139s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 139s Get:13 http://ftpmaster.internal/ubuntu plucky/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 139s Get:14 http://ftpmaster.internal/ubuntu plucky/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 139s Get:15 http://ftpmaster.internal/ubuntu plucky/universe s390x libsvn1 s390x 1.14.4-2 [1370 kB] 139s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x libxapian30 s390x 1.4.25-1 [725 kB] 139s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu1 [169 kB] 139s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-aeidon all 1.15-1 [231 kB] 139s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x python3-soupsieve all 2.6-1 [33.0 kB] 139s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x python3-bs4 all 4.12.3-3 [109 kB] 139s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-charset-normalizer s390x 3.3.2-2 [120 kB] 139s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 139s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.16.0-7 [13.1 kB] 139s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 139s Get:25 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 139s Get:26 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 139s Get:27 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-rapidfuzz s390x 3.9.4+ds-1 [1481 kB] 139s Get:28 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 139s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x python3-lxml s390x 5.3.0-1 [1314 kB] 139s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 139s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x python3-ply all 3.11-7 [45.4 kB] 139s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 139s Get:33 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ruamel.yaml.clib s390x 0.2.8+ds-2 [143 kB] 139s Get:34 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 139s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 139s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 139s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-translate all 3.13.2-2 [319 kB] 139s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 139s Get:39 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-xapian s390x 1.4.25-1build3 [428 kB] 140s Get:40 http://ftpmaster.internal/ubuntu plucky/universe s390x subversion s390x 1.14.4-2 [910 kB] 140s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x translate-toolkit all 3.13.2-2 [81.0 kB] 140s Get:42 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 140s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 140s Preconfiguring packages ... 140s Fetched 11.1 MB in 1s (10.0 MB/s) 140s Selecting previously unselected package emacsen-common. 140s (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 ... 55484 files and directories currently installed.) 140s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 140s Unpacking emacsen-common (3.0.5) ... 140s Selecting previously unselected package dictionaries-common. 140s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 140s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 140s Unpacking dictionaries-common (1.29.7) ... 140s Selecting previously unselected package libgomp1:s390x. 140s Preparing to unpack .../02-libgomp1_14.2.0-7ubuntu1_s390x.deb ... 140s Unpacking libgomp1:s390x (14.2.0-7ubuntu1) ... 140s Selecting previously unselected package gettext. 140s Preparing to unpack .../03-gettext_0.22.5-2_s390x.deb ... 140s Unpacking gettext (0.22.5-2) ... 140s Selecting previously unselected package hunspell-en-us. 140s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 140s Unpacking hunspell-en-us (1:2020.12.07-2) ... 140s Selecting previously unselected package libapr1t64:s390x. 140s Preparing to unpack .../05-libapr1t64_1.7.2-3.2ubuntu1_s390x.deb ... 140s Unpacking libapr1t64:s390x (1.7.2-3.2ubuntu1) ... 140s Selecting previously unselected package libaprutil1t64:s390x. 140s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu1_s390x.deb ... 140s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu1) ... 140s Selecting previously unselected package libaspell15:s390x. 140s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 140s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 140s Selecting previously unselected package libhunspell-1.7-0:s390x. 140s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 140s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 140s Selecting previously unselected package libenchant-2-2:s390x. 140s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 140s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 140s Selecting previously unselected package libexttextcat-data. 140s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 140s Unpacking libexttextcat-data (3.4.7-1build1) ... 140s Selecting previously unselected package libserf-1-1:s390x. 140s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 140s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 140s Selecting previously unselected package libutf8proc3:s390x. 140s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 140s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 140s Selecting previously unselected package libsvn1:s390x. 140s Preparing to unpack .../13-libsvn1_1.14.4-2_s390x.deb ... 140s Unpacking libsvn1:s390x (1.14.4-2) ... 140s Selecting previously unselected package libxapian30:s390x. 140s Preparing to unpack .../14-libxapian30_1.4.25-1_s390x.deb ... 140s Unpacking libxapian30:s390x (1.4.25-1) ... 140s Selecting previously unselected package libxslt1.1:s390x. 140s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_s390x.deb ... 140s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu1) ... 140s Selecting previously unselected package python3-aeidon. 140s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 140s Unpacking python3-aeidon (1.15-1) ... 140s Selecting previously unselected package python3-soupsieve. 140s Preparing to unpack .../17-python3-soupsieve_2.6-1_all.deb ... 140s Unpacking python3-soupsieve (2.6-1) ... 140s Selecting previously unselected package python3-bs4. 140s Preparing to unpack .../18-python3-bs4_4.12.3-3_all.deb ... 140s Unpacking python3-bs4 (4.12.3-3) ... 140s Selecting previously unselected package python3-charset-normalizer. 140s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-2_s390x.deb ... 140s Unpacking python3-charset-normalizer (3.3.2-2) ... 140s Selecting previously unselected package python3-cheroot. 140s Preparing to unpack .../20-python3-cheroot_10.0.0+ds1-2_all.deb ... 140s Unpacking python3-cheroot (10.0.0+ds1-2) ... 140s Selecting previously unselected package python3-six. 140s Preparing to unpack .../21-python3-six_1.16.0-7_all.deb ... 140s Unpacking python3-six (1.16.0-7) ... 140s Selecting previously unselected package python3-dateutil. 140s Preparing to unpack .../22-python3-dateutil_2.9.0-2_all.deb ... 140s Unpacking python3-dateutil (2.9.0-2) ... 140s Selecting previously unselected package python3-diff-match-patch. 140s Preparing to unpack .../23-python3-diff-match-patch_20230430-1_all.deb ... 140s Unpacking python3-diff-match-patch (20230430-1) ... 140s Selecting previously unselected package python3-enchant. 140s Preparing to unpack .../24-python3-enchant_3.2.2-1_all.deb ... 140s Unpacking python3-enchant (3.2.2-1) ... 140s Selecting previously unselected package python3-rapidfuzz. 140s Preparing to unpack .../25-python3-rapidfuzz_3.9.4+ds-1_s390x.deb ... 140s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 140s Selecting previously unselected package python3-levenshtein. 140s Preparing to unpack .../26-python3-levenshtein_0.25.1-3_s390x.deb ... 140s Unpacking python3-levenshtein (0.25.1-3) ... 140s Selecting previously unselected package python3-lxml:s390x. 140s Preparing to unpack .../27-python3-lxml_5.3.0-1_s390x.deb ... 140s Unpacking python3-lxml:s390x (5.3.0-1) ... 140s Selecting previously unselected package python3-mistletoe. 140s Preparing to unpack .../28-python3-mistletoe_1.3.0-1_all.deb ... 140s Unpacking python3-mistletoe (1.3.0-1) ... 140s Selecting previously unselected package python3-ply. 140s Preparing to unpack .../29-python3-ply_3.11-7_all.deb ... 140s Unpacking python3-ply (3.11-7) ... 140s Selecting previously unselected package python3-phply. 140s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 140s Unpacking python3-phply (1.2.6-1) ... 140s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 140s Preparing to unpack .../31-python3-ruamel.yaml.clib_0.2.8+ds-2_s390x.deb ... 140s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8+ds-2) ... 140s Selecting previously unselected package python3-ruamel.yaml. 140s Preparing to unpack .../32-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 140s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 140s Selecting previously unselected package python3-simplejson. 140s Preparing to unpack .../33-python3-simplejson_3.19.2-1build2_s390x.deb ... 140s Unpacking python3-simplejson (3.19.2-1build2) ... 140s Selecting previously unselected package python3-wcwidth. 140s Preparing to unpack .../34-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 140s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 140s Selecting previously unselected package python3-translate. 140s Preparing to unpack .../35-python3-translate_3.13.2-2_all.deb ... 140s Unpacking python3-translate (3.13.2-2) ... 140s Selecting previously unselected package python3-vobject. 140s Preparing to unpack .../36-python3-vobject_0.9.6.1-2_all.deb ... 140s Unpacking python3-vobject (0.9.6.1-2) ... 140s Selecting previously unselected package python3-xapian. 140s Preparing to unpack .../37-python3-xapian_1.4.25-1build3_s390x.deb ... 140s Unpacking python3-xapian (1.4.25-1build3) ... 140s Selecting previously unselected package subversion. 140s Preparing to unpack .../38-subversion_1.14.4-2_s390x.deb ... 140s Unpacking subversion (1.14.4-2) ... 140s Selecting previously unselected package translate-toolkit. 140s Preparing to unpack .../39-translate-toolkit_3.13.2-2_all.deb ... 140s Unpacking translate-toolkit (3.13.2-2) ... 141s Selecting previously unselected package python3-iniparse. 141s Preparing to unpack .../40-python3-iniparse_0.5-2_all.deb ... 141s Unpacking python3-iniparse (0.5-2) ... 141s Selecting previously unselected package python3-pycountry. 141s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 141s Unpacking python3-pycountry (24.6.1+ds1-1) ... 141s Selecting previously unselected package autopkgtest-satdep. 141s Preparing to unpack .../42-1-autopkgtest-satdep.deb ... 141s Unpacking autopkgtest-satdep (0) ... 141s Setting up libxapian30:s390x (1.4.25-1) ... 141s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 141s Setting up python3-diff-match-patch (20230430-1) ... 141s Setting up python3-aeidon (1.15-1) ... 141s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 141s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 141s Setting up python3-charset-normalizer (3.3.2-2) ... 141s Setting up python3-ply (3.11-7) ... 141s Setting up python3-ruamel.yaml.clib:s390x (0.2.8+ds-2) ... 141s Setting up libgomp1:s390x (14.2.0-7ubuntu1) ... 141s Setting up python3-six (1.16.0-7) ... 141s Setting up python3-simplejson (3.19.2-1build2) ... 141s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 142s Setting up emacsen-common (3.0.5) ... 142s Setting up python3-cheroot (10.0.0+ds1-2) ... 142s Setting up python3-pycountry (24.6.1+ds1-1) ... 142s Setting up python3-xapian (1.4.25-1build3) ... 142s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 142s Setting up python3-mistletoe (1.3.0-1) ... 142s Setting up libexttextcat-data (3.4.7-1build1) ... 142s Setting up libapr1t64:s390x (1.7.2-3.2ubuntu1) ... 142s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu1) ... 142s Setting up python3-dateutil (2.9.0-2) ... 142s Setting up python3-levenshtein (0.25.1-3) ... 143s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 143s Setting up python3-soupsieve (2.6-1) ... 143s Setting up python3-iniparse (0.5-2) ... 143s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu1) ... 143s Setting up python3-vobject (0.9.6.1-2) ... 143s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 143s patterns['name'] = '[a-zA-Z0-9\-_]+' 143s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 143s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 143s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 143s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 143s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 143s """ 143s Setting up gettext (0.22.5-2) ... 143s Setting up python3-phply (1.2.6-1) ... 143s Setting up dictionaries-common (1.29.7) ... 143s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 143s Setting up python3-bs4 (4.12.3-3) ... 143s Setting up python3-lxml:s390x (5.3.0-1) ... 144s Setting up hunspell-en-us (1:2020.12.07-2) ... 144s Setting up libsvn1:s390x (1.14.4-2) ... 144s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 144s Setting up subversion (1.14.4-2) ... 144s Setting up python3-enchant (3.2.2-1) ... 144s Setting up python3-translate (3.13.2-2) ... 144s Setting up translate-toolkit (3.13.2-2) ... 144s Setting up autopkgtest-satdep (0) ... 144s Processing triggers for man-db (2.12.1-3) ... 144s Processing triggers for install-info (7.1.1-1) ... 144s Processing triggers for libc-bin (2.40-1ubuntu3) ... 144s Processing triggers for dictionaries-common (1.29.7) ... 147s (Reading database ... 58962 files and directories currently installed.) 147s Removing autopkgtest-satdep (0) ... 147s autopkgtest [10:01:52]: test translate-toolkit: [----------------------- 147s ========= SMOKE TEST: /usr/bin/android2po =========== 147s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 147s 147s Convert Android string files to Gettext PO localization files. See: 147s http://docs.translatehouse.org/projects/translate- 147s toolkit/en/latest/commands/android2po.html for examples and usage 147s instructions. 147s 147s Options: 147s --version show program's version number and exit 147s -h, --help show this help message and exit 147s --manpage output a manpage based on the help 147s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 147s --errorlevel=ERRORLEVEL 147s show errorlevel as: none, message, exception, 147s traceback 147s -i INPUT, --input=INPUT 147s read from INPUT in xml format 147s -x EXCLUDE, --exclude=EXCLUDE 147s exclude names matching EXCLUDE from input paths 147s -o OUTPUT, --output=OUTPUT 147s write to OUTPUT in po, pot formats 147s -t TEMPLATE, --template=TEMPLATE 147s read from TEMPLATE in xml format 147s -S, --timestamp skip conversion if the output file has newer timestamp 147s --duplicates=DUPLICATESTYLE 147s what to do with duplicate strings (identical source 147s text): merge, msgctxt (default: 'msgctxt') 147s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 148s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 148s input files [input files ...] 148s 148s positional arguments: 148s input files 148s 148s options: 148s -h, --help show this help message and exit 148s -d TMDB_FILE, --tmdb TMDB_FILE 148s translation memory database file (default: tm.db) 148s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 148s source language of translation files (default: en) 148s -t TARGET_LANG, --import-target-lang TARGET_LANG 148s target language of translation files 148s ========= SMOKE TEST: /usr/bin/csv2po =========== 148s Usage: csv2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 148s 148s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 148s See: http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in csv format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -t TEMPLATE, --template=TEMPLATE 148s read from TEMPLATE in po, pot, pot formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --charset=CHARSET set charset to decode from csv files 148s --columnorder=COLUMNORDER 148s specify the order and position of columns 148s (location,source,target,context) 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 148s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 148s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 148s 148s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 148s glossary file. See: http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in csv format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in tbx format 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s --charset=CHARSET set charset to decode from csv files 148s --columnorder=COLUMNORDER 148s specify the order and position of columns 148s (comment,source,target) 148s ========= SMOKE TEST: /usr/bin/dtd2po =========== 148s Usage: dtd2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 148s 148s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 148s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 148s this module You can convert back to .dtd using po2dtd.py. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in dtd format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -t TEMPLATE, --template=TEMPLATE 148s read from TEMPLATE in dtd format 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 148s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 148s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 148s 148s Convert flat XML files to Gettext PO localization files. See: 148s http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/flatxml2po.html for examples and usage 148s instructions. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in xml format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -r ROOT, --root=ROOT name of the XML root element (default: "root") 148s -v VALUE, --value=VALUE 148s name of the XML value element (default: "str") 148s -k KEY, --key=KEY name of the XML key attribute (default: "key") 148s -n NS, --namespace=NS 148s XML namespace uri (default: None) 148s ========= SMOKE TEST: /usr/bin/html2po =========== 148s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 148s 148s Convert HTML files to Gettext PO localization files. See: 148s http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in htm, html, xhtml formats 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --keepcomments preserve html comments as translation notes in the 148s output 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 148s --multifile=MULTIFILESTYLE 148s how to split po/pot files (single, toplevel or 148s onefile) 148s ========= SMOKE TEST: /usr/bin/ical2po =========== 148s Usage: ical2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 148s 148s Convert iCalendar files to Gettext PO localization files. See: 148s http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in ics format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -t TEMPLATE, --template=TEMPLATE 148s read from TEMPLATE in ics format 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 148s ========= SMOKE TEST: /usr/bin/idml2po =========== 148s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 148s 148s Convert IDML files to PO localization files. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in idml format 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s ========= SMOKE TEST: /usr/bin/ini2po =========== 148s Usage: ini2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 148s 148s Convert .ini files to Gettext PO localization files. See: 148s http://docs.translatehouse.org/projects/translate- 148s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 148s 148s Options: 148s --version show program's version number and exit 148s -h, --help show this help message and exit 148s --manpage output a manpage based on the help 148s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 148s --errorlevel=ERRORLEVEL 148s show errorlevel as: none, message, exception, 148s traceback 148s -i INPUT, --input=INPUT 148s read from INPUT in ini, isl, iss formats 148s -x EXCLUDE, --exclude=EXCLUDE 148s exclude names matching EXCLUDE from input paths 148s -o OUTPUT, --output=OUTPUT 148s write to OUTPUT in po, pot formats 148s -t TEMPLATE, --template=TEMPLATE 148s read from TEMPLATE in ini, isl, iss formats 148s -S, --timestamp skip conversion if the output file has newer timestamp 148s -P, --pot output PO Templates (.pot) rather than PO files (.po) 148s --duplicates=DUPLICATESTYLE 148s what to do with duplicate strings (identical source 148s text): merge, msgctxt (default: 'msgctxt') 149s ========= SMOKE TEST: /usr/bin/json2po =========== 149s Usage: json2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 149s 149s Convert JSON files to Gettext PO localization files. See: 149s http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in json format 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in po, pot formats 149s -t TEMPLATE, --template=TEMPLATE 149s read from TEMPLATE in json format 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -P, --pot output PO Templates (.pot) rather than PO files (.po) 149s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 149s everything) 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s ========= SMOKE TEST: /usr/bin/md2po =========== 149s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 149s 149s Convert Markdown files to Gettext PO localization files. See: 149s http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in markdown, md, text, txt formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in po, pot formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -P, --pot output PO Templates (.pot) rather than PO files (.po) 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s --multifile=MULTIFILESTYLE 149s how to split po/pot files (single, toplevel or 149s onefile) 149s ========= SMOKE TEST: /usr/bin/moz2po =========== 149s Usage: moz2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 149s 149s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 149s See: http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in *, dtd, inc, ini, it, js, lang, 149s manifest, properties, rdf formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 149s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 149s lang.pot, manifest, properties.po, properties.pot, rdf 149s formats 149s -t TEMPLATE, --template=TEMPLATE 149s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 149s manifest, properties, rdf formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -P, --pot output PO Templates (.pot) rather than PO files (.po) 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 149s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 149s 149s Convert Mozilla .lang files to Gettext PO localization files. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in lang format 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in po, pot formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 149s -P, --pot output PO Templates (.pot) rather than PO files (.po) 149s --encoding=ENCODING The encoding of the input file (default: UTF-8) 149s --duplicates=DUPLICATESTYLE 149s what to do with duplicate strings (identical source 149s text): merge, msgctxt (default: 'msgctxt') 149s ========= SMOKE TEST: /usr/bin/msghack =========== 149s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 149s This program can be used to alter .po files in ways no sane mind would think about. 149s -o result will be written to FILE 149s --invert invert a po file by switching msgid and msgstr 149s --master join any number of files in a master-formatted catalog 149s --empty empty the contents of the .po file, creating a .pot 149s --append append entries from ref.po that don't exist in file.po 149s 149s Note: It is just a replacement of msghack for backward support. 149s 149s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 149s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 149s 149s Convert OpenDocument (ODF) files to XLIFF localization files. See: 149s http://docs.translatehouse.org/projects/translate- 149s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 149s 149s Options: 149s --version show program's version number and exit 149s -h, --help show this help message and exit 149s --manpage output a manpage based on the help 149s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 149s --errorlevel=ERRORLEVEL 149s show errorlevel as: none, message, exception, 149s traceback 149s -i INPUT, --input=INPUT 149s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 149s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 149s formats 149s -x EXCLUDE, --exclude=EXCLUDE 149s exclude names matching EXCLUDE from input paths 149s -o OUTPUT, --output=OUTPUT 149s write to OUTPUT in xlf, xliff formats 149s -S, --timestamp skip conversion if the output file has newer timestamp 150s ========= SMOKE TEST: /usr/bin/oo2po =========== 150s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 150s 150s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 150s files. See: http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in oo, sdf formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -P, --pot output PO Templates (.pot) rather than PO files (.po) 150s -l LANG, --language=LANG 150s set target language to extract from oo file (e.g. af- 150s ZA) 150s --source-language=LANG 150s set source language code (default en-US) 150s --nonrecursiveinput don't treat the input oo as a recursive store 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s --multifile=MULTIFILESTYLE 150s how to split po/pot files (single, toplevel or 150s onefile) 150s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 150s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 150s files. See: http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in oo, sdf formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in xlf, xliff formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -l LANG, --language=LANG 150s set target language to extract from oo file (e.g. af- 150s ZA) 150s --source-language=LANG 150s set source language code (default en-US) 150s --nonrecursiveinput don't treat the input oo as a recursive store 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s --multifile=MULTIFILESTYLE 150s how to split po/pot files (single, toplevel or 150s onefile) 150s ========= SMOKE TEST: /usr/bin/php2po =========== 150s Usage: php2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 150s 150s Convert PHP localization files to Gettext PO localization files. See: 150s http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in html, php formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in html, php formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -P, --pot output PO Templates (.pot) rather than PO files (.po) 150s --duplicates=DUPLICATESTYLE 150s what to do with duplicate strings (identical source 150s text): merge, msgctxt (default: 'msgctxt') 150s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 150s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert PHP format .po files to Python format .po files. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in po, pot formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s ========= SMOKE TEST: /usr/bin/po2csv =========== 150s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 150s 150s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 150s See: http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in csv format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s --columnorder=COLUMNORDER 150s specify the order and position of columns 150s (location,source,target,context) 150s ========= SMOKE TEST: /usr/bin/po2dtd =========== 150s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 150s 150s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 150s Conversion is either done using a template plus PO file or just using the 150s .po file. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in dtd format 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in dtd format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s --threshold=PERCENT only convert files where the translation completion is 150s above PERCENT 150s --fuzzy use translations marked fuzzy 150s --nofuzzy don't use translations marked fuzzy (default) 150s --removeuntranslated remove untranslated strings from output 150s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 150s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 150s 150s Convert Gettext PO localization files to flat XML files. See: 150s http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/flatxml2po.html for examples and usage 150s instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in xml format 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in xml format 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s -r ROOT, --root=ROOT name of the XML root element (default: "root") 150s -v VALUE, --value=VALUE 150s name of the XML value element (default: "str") 150s -k KEY, --key=KEY name of the XML key attribute (default: "key") 150s -n NS, --namespace=NS 150s XML namespace uri (default: None) 150s -w INDENT, --indent=INDENT 150s indent width in spaces, 0 for no indent (default: 2) 150s ========= SMOKE TEST: /usr/bin/po2html =========== 150s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 150s 150s Translate HTML files using Gettext PO localization files. See: 150s http://docs.translatehouse.org/projects/translate- 150s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 150s 150s Options: 150s --version show program's version number and exit 150s -h, --help show this help message and exit 150s --manpage output a manpage based on the help 150s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 150s --errorlevel=ERRORLEVEL 150s show errorlevel as: none, message, exception, 150s traceback 150s -i INPUT, --input=INPUT 150s read from INPUT in po, pot formats 150s -x EXCLUDE, --exclude=EXCLUDE 150s exclude names matching EXCLUDE from input paths 150s -o OUTPUT, --output=OUTPUT 150s write to OUTPUT in htm, html, xhtml formats 150s -t TEMPLATE, --template=TEMPLATE 150s read from TEMPLATE in htm, html, xhtml formats 150s -S, --timestamp skip conversion if the output file has newer timestamp 150s --threshold=PERCENT only convert files where the translation completion is 150s above PERCENT 150s --fuzzy use translations marked fuzzy 150s --nofuzzy don't use translations marked fuzzy (default) 150s ========= SMOKE TEST: /usr/bin/po2ical =========== 151s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Convert Gettext PO localization files to iCalendar files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in ics format 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in ics format 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s ========= SMOKE TEST: /usr/bin/po2idml =========== 151s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Takes an IDML template file and a PO file containing translations of strings 151s in the IDML template. It creates a new IDML file using the translations of the 151s PO file. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in idml format 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in idml format 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s ========= SMOKE TEST: /usr/bin/po2ini =========== 151s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Convert Gettext PO localization files to .ini files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in ini, isl formats 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in ini, isl formats 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s ========= SMOKE TEST: /usr/bin/po2json =========== 151s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Convert Gettext PO localization files to JSON files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in json format 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in json format 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s --removeuntranslated remove untranslated strings from output 151s ========= SMOKE TEST: /usr/bin/po2md =========== 151s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Translate Markdown files using Gettext PO localization files. See: 151s http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in po, pot formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in markdown, md, text, txt formats 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in markdown, md, text, txt formats 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s -m MAXLENGTH, --maxlinelength=MAXLENGTH 151s reflow (word wrap) the output to the given maximum 151s line length. set to 0 to disable 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s ========= SMOKE TEST: /usr/bin/po2moz =========== 151s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 151s 151s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 151s See: http://docs.translatehouse.org/projects/translate- 151s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 151s 151s Options: 151s --version show program's version number and exit 151s -h, --help show this help message and exit 151s --manpage output a manpage based on the help 151s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 151s --errorlevel=ERRORLEVEL 151s show errorlevel as: none, message, exception, 151s traceback 151s -i INPUT, --input=INPUT 151s read from INPUT in *, dtd.po, dtd.pot, inc.po, 151s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 151s lang.pot, manifest, properties.po, properties.pot, rdf 151s formats 151s -x EXCLUDE, --exclude=EXCLUDE 151s exclude names matching EXCLUDE from input paths 151s -o OUTPUT, --output=OUTPUT 151s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 151s manifest, properties, rdf formats 151s -t TEMPLATE, --template=TEMPLATE 151s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 151s manifest, properties, rdf formats 151s -S, --timestamp skip conversion if the output file has newer timestamp 151s -l LOCALE, --locale=LOCALE 151s set output locale (required as this sets the directory 151s names) 151s --threshold=PERCENT only convert files where the translation completion is 151s above PERCENT 151s --fuzzy use translations marked fuzzy 151s --nofuzzy don't use translations marked fuzzy (default) 151s --removeuntranslated remove untranslated strings from output 152s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 152s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files to Mozilla .lang files. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in lang format 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in lang format 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --mark-active mark the file as active 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s ========= SMOKE TEST: /usr/bin/po2oo =========== 152s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 152s file. See: http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot, xlf, xliff formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in oo, sdf formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in oo, sdf formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s -l LANG, --language=LANG 152s set target language code (e.g. af-ZA) [required] 152s --source-language=LANG 152s set source language code (default en-US) 152s -T, --keeptimestamp don't change the timestamps of the strings 152s --nonrecursiveoutput don't treat the output oo as a recursive store 152s --nonrecursivetemplate 152s don't treat the template oo as a recursive store 152s --skipsource don't output the source language, but fallback to it 152s where needed 152s --filteraction=ACTION 152s action on pofilter failure: none (default), warn, 152s exclude-serious, exclude-all 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s --multifile=MULTIFILESTYLE 152s how to split po/pot files (single, toplevel or 152s onefile) 152s ========= SMOKE TEST: /usr/bin/po2php =========== 152s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files to PHP localization files. See: 152s http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in html, php formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in html, php formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s ========= SMOKE TEST: /usr/bin/po2prop =========== 152s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files to Java/Mozilla .properties files. 152s See: http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in lang, properties, strings formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in lang, properties, strings 152s formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --personality=TYPE override the input file format: java, java-utf8, java- 152s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 152s strings, strings-utf8, joomla (for .properties files, 152s default: java) 152s --encoding=ENCODING override the encoding set by the personality 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s --removeuntranslated remove untranslated strings from output 152s ========= SMOKE TEST: /usr/bin/po2rc =========== 152s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files back to Windows Resource (.rc) files. 152s See: http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in rc format 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in rc format 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 152s -l LANG, --lang=LANG LANG entry 152s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s ========= SMOKE TEST: /usr/bin/po2resx =========== 152s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 152s http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in resx format 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in resx format 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s ========= SMOKE TEST: /usr/bin/po2sub =========== 152s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 152s 152s Convert Gettext PO localization files to subtitle files. See: 152s http://docs.translatehouse.org/projects/translate- 152s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 152s 152s Options: 152s --version show program's version number and exit 152s -h, --help show this help message and exit 152s --manpage output a manpage based on the help 152s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 152s --errorlevel=ERRORLEVEL 152s show errorlevel as: none, message, exception, 152s traceback 152s -i INPUT, --input=INPUT 152s read from INPUT in po, pot formats 152s -x EXCLUDE, --exclude=EXCLUDE 152s exclude names matching EXCLUDE from input paths 152s -o OUTPUT, --output=OUTPUT 152s write to OUTPUT in ass, srt, ssa, sub formats 152s -t TEMPLATE, --template=TEMPLATE 152s read from TEMPLATE in ass, srt, ssa, sub formats 152s -S, --timestamp skip conversion if the output file has newer timestamp 152s --threshold=PERCENT only convert files where the translation completion is 152s above PERCENT 152s --fuzzy use translations marked fuzzy 152s --nofuzzy don't use translations marked fuzzy (default) 152s ========= SMOKE TEST: /usr/bin/po2symb =========== 153s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to Symbian translation files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in r0 format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --duplicates=DUPLICATESTYLE 153s what to do with duplicate strings (identical source 153s text): merge, msgctxt (default: 'msgctxt') 153s ========= SMOKE TEST: /usr/bin/po2tiki =========== 153s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 153s 153s Convert Gettext PO files to TikiWiki's language.php files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in tiki format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s ========= SMOKE TEST: /usr/bin/po2tmx =========== 153s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 153s 153s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 153s file. See: http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in tmx format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s -l LANG, --language=LANG 153s set target language code (e.g. af-ZA) [required] 153s --source-language=LANG 153s set source language code (default: en) 153s --comments=COMMENT set default comment import: none, source, type or 153s others (default: none) 153s ========= SMOKE TEST: /usr/bin/po2ts =========== 153s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in ts format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in ts format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s -c CONTEXT, --context=CONTEXT 153s use supplied context instead of the one in the .po 153s file comment 153s ========= SMOKE TEST: /usr/bin/po2txt =========== 153s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to plain text (.txt) files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot, xlf, xliff formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in txt format 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in txt format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --encoding=ENCODING The encoding of the template file (default: UTF-8) 153s -w WRAP, --wrap=WRAP set number of columns to wrap text at 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s ========= SMOKE TEST: /usr/bin/po2web2py =========== 153s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 153s 153s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in py format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 153s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 153s 153s Convert Gettext PO localization files to a Wordfast translation memory file. 153s See: http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/po2wordfast.html for examples and usage 153s instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in txt format 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s -l LANG, --language=LANG 153s set target language code (e.g. af-ZA) [required] 153s --source-language=LANG 153s set source language code (default: en) 153s ========= SMOKE TEST: /usr/bin/po2xliff =========== 153s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to XLIFF localization files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in xlf, xliff formats 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in xlf, xliff formats 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s ========= SMOKE TEST: /usr/bin/po2yaml =========== 153s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 153s 153s Convert Gettext PO localization files to YAML files. See: 153s http://docs.translatehouse.org/projects/translate- 153s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 153s 153s Options: 153s --version show program's version number and exit 153s -h, --help show this help message and exit 153s --manpage output a manpage based on the help 153s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 153s --errorlevel=ERRORLEVEL 153s show errorlevel as: none, message, exception, 153s traceback 153s -i INPUT, --input=INPUT 153s read from INPUT in po, pot formats 153s -x EXCLUDE, --exclude=EXCLUDE 153s exclude names matching EXCLUDE from input paths 153s -o OUTPUT, --output=OUTPUT 153s write to OUTPUT in yaml, yml formats 153s -t TEMPLATE, --template=TEMPLATE 153s read from TEMPLATE in yaml, yml formats 153s -S, --timestamp skip conversion if the output file has newer timestamp 153s --threshold=PERCENT only convert files where the translation completion is 153s above PERCENT 153s --fuzzy use translations marked fuzzy 153s --nofuzzy don't use translations marked fuzzy (default) 153s ========= SMOKE TEST: /usr/bin/poclean =========== 154s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 154s 154s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 154s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 154s produces the target file with only the target text in from a text version of 154s the RTF. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot, xlf, xliff formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po, pot, xlf, xliff formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s ========= SMOKE TEST: /usr/bin/pocompendium =========== 154s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 154s The first parameter is the output file, standard output if the output file is '-'. 154s Any number of directories may be specified for input files. 154s Options: 154s --invert|v Creates an inverse compendium with msgid and msgstr swapped 154s --errors|e Only ouput msg bundles that have errors 154s --correct|c Only ouput msg bundles that are correctly translated 154s --ignore-case|i Drops all strings to lowercase 154s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 154s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 154s --strip-accel-under|-su Strip all underscore (_) accelerator characters 154s ========= SMOKE TEST: /usr/bin/pocompile =========== 154s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 154s 154s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 154s Object) files. See: http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot, xlf, xliff formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in mo format 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s --fuzzy use translations marked fuzzy 154s --nofuzzy don't use translations marked fuzzy (default) 154s ========= SMOKE TEST: /usr/bin/poconflicts =========== 154s Usage: poconflicts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-I|--ignore-case] [-v|--invert] [--accelerator ACCELERATORS] 154s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 154s 154s Conflict finder for Gettext PO localization files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/poconflicts.html for examples and usage 154s instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po format 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po format 154s -I, --ignore-case ignore case distinctions 154s -v, --invert invert the conflicts thus extracting conflicting 154s destination words 154s --accelerator=ACCELERATORS 154s ignores the given accelerator characters when matching 154s ========= SMOKE TEST: /usr/bin/pocount =========== 154s usage: pocount [-h] [--incomplete] 154s [--full | --csv | --short | --short-strings | --short-words] 154s [--no-color] 154s files [files ...] 154s 154s positional arguments: 154s files 154s 154s options: 154s -h, --help show this help message and exit 154s --incomplete skip 100% translated files. 154s 154s Output format: 154s --full (default) statistics in full, verbose format 154s --csv statistics in CSV format 154s --short same as --short-strings 154s --short-strings statistics of strings in short format - one line per file 154s --short-words statistics of words in short format - one line per file 154s --no-color show output without color 154s ========= SMOKE TEST: /usr/bin/podebug =========== 154s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 154s 154s Insert debug messages into XLIFF and Gettext PO localization files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot, pot, tmx, xlf, xliff 154s formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po, pot, tmx, xlf, xliff formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s -f FORMAT, --format=FORMAT 154s specify format string 154s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 154s classified, en, flipped, unicode, xxx 154s --ignore=APPLICATION apply tagging ignore rules for the given application: 154s gtk, kde, libreoffice, mozilla, openoffice 154s --preserveplaceholders 154s attempt to exclude characters that are part of 154s placeholders when performing character-level rewrites 154s so that consuming applications can still use the 154s placeholders to generate final output 154s ========= SMOKE TEST: /usr/bin/pofilter =========== 154s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 154s 154s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 154s Snippet files are created whenever a test fails. These can be examined, 154s corrected and merged back into the originals using pomerge. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 154s and http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 154s tests. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot, tmx, xlf, xliff formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po, pot, tmx, xlf, xliff formats 154s -l, --listfilters list filters available 154s --review include units marked for review (default) 154s --noreview exclude units marked for review 154s --fuzzy include units marked fuzzy (default) 154s --nofuzzy exclude units marked fuzzy 154s --nonotes don't add notes about the errors 154s --autocorrect output automatic corrections where possible rather 154s than describing issues 154s --language=LANG set target language code (e.g. af-ZA) [required for 154s spell check and recommended in general] 154s --openoffice use the standard checks for OpenOffice translations 154s --libreoffice use the standard checks for LibreOffice translations 154s --mozilla use the standard checks for Mozilla translations 154s --drupal use the standard checks for Drupal translations 154s --gnome use the standard checks for Gnome translations 154s --kde use the standard checks for KDE translations 154s --wx use the standard checks for wxWidgets translations 154s --excludefilter=FILTER 154s don't use FILTER when filtering 154s -t FILTER, --test=FILTER 154s only use test FILTERs specified with this option when 154s filtering 154s --notranslatefile=FILE 154s read list of untranslatable words from FILE (must not 154s be translated) 154s --musttranslatefile=FILE 154s read list of translatable words from FILE (must be 154s translated) 154s --validcharsfile=FILE 154s read list of all valid characters from FILE (must be 154s in UTF-8) 154s ========= SMOKE TEST: /usr/bin/pogrep =========== 154s Usage: pogrep searchstring [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [--search SEARCHPARTS] [-I|--ignore-case] [-e|--regexp] [-v|--invert-match] [--accelerator ACCELERATOR] [-k|--keep-translations] 154s 154s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 154s snippet files of the same type which can then be reviewed and later merged 154s using :doc:`pomerge `. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 154s xliff formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 154s xliff formats 154s --search=SEARCHPARTS searches the given parts (source, target, notes and 154s locations) 154s -I, --ignore-case ignore case distinctions 154s -e, --regexp use regular expression matching 154s -v, --invert-match select non-matching lines 154s --accelerator=ACCELERATOR 154s ignores the given accelerator when matching 154s -k, --keep-translations 154s always extract units with translations 154s ========= SMOKE TEST: /usr/bin/pomerge =========== 154s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 154s 154s Merges XLIFF and Gettext PO localization files. Snippet file produced by 154s e.g. :doc:`pogrep ` and updated by a translator can be 154s merged back into the original files. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot, pot, xlf, xliff formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po, pot, pot, xlf, xliff formats 154s -t TEMPLATE, --template=TEMPLATE 154s read from TEMPLATE in po, pot, pot, xlf, xliff formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s --mergeblanks=MERGEBLANKS 154s whether to overwrite existing translations with blank 154s translations (yes/no). Default is yes. 154s --mergefuzzy=MERGEFUZZY 154s whether to consider fuzzy translations from input 154s (yes/no). Default is yes. 154s --mergecomments=MERGECOMMENTS 154s whether to merge comments as well as translations 154s (yes/no). Default is yes. 154s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 154s Usage pomigrate2 [options] 154s 154s Options: 154s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 154s -C|--use-compendium - create and use a compendium built from the migrating files 154s -C|--use-compendium=some-compendium.po 154s - use an external compendium during the migration 154s --no-wrap - do not wrap long lines 154s --locale=lang - set locale for newly born files 154s -q|--quiet - suppress most output 154s -p|--pot2po - use pot2po instead of msgmerge to migrate 154s ========= SMOKE TEST: /usr/bin/popuretext =========== 154s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 154s ========= SMOKE TEST: /usr/bin/poreencode =========== 154s Usage: poreencode 154s eg: poreencode UTF-8 af/ 154s ========= SMOKE TEST: /usr/bin/porestructure =========== 154s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 154s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 154s 154s Restructure Gettxt PO files produced by :doc:`poconflicts 154s ` into the original directory tree for merging using 154s :doc:`pomerge `. See: 154s http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po format 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po format 154s ========= SMOKE TEST: /usr/bin/posegment =========== 154s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 154s 154s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 154s See: http://docs.translatehouse.org/projects/translate- 154s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 154s 154s Options: 154s --version show program's version number and exit 154s -h, --help show this help message and exit 154s --manpage output a manpage based on the help 154s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 154s --errorlevel=ERRORLEVEL 154s show errorlevel as: none, message, exception, 154s traceback 154s -i INPUT, --input=INPUT 154s read from INPUT in po, pot, tmx, xlf, xliff formats 154s -x EXCLUDE, --exclude=EXCLUDE 154s exclude names matching EXCLUDE from input paths 154s -o OUTPUT, --output=OUTPUT 154s write to OUTPUT in po, pot, tmx, xlf, xliff formats 154s -S, --timestamp skip conversion if the output file has newer timestamp 154s -P, --pot output PO Templates (.pot) rather than PO files (.po) 154s -l LANG, --language=LANG 154s the target language code 154s --source-language=LANG 154s the source language code (default 'en') 154s --keepspaces Disable automatic stripping of whitespace 154s --only-aligned Removes units where sentence number does not 154s correspond 154s ========= SMOKE TEST: /usr/bin/poswap =========== 155s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Builds a new translation file with the target of the input language as source 155s language. .. note:: Ensure that the two po files correspond 100% to the same 155s pot file before using this. To translate Kurdish (ku) through French:: 155s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 155s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in po, pot, pot formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s --reverse reverse the process of intermediate language 155s conversion 155s ========= SMOKE TEST: /usr/bin/pot2po =========== 155s Usage: pot2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 155s 155s Convert template files (like .pot or template .xlf files) to translation 155s files, preserving existing translations. See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 155s formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 155s xliff formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 155s xliff formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s -P, --pot output PO Templates (.pot) rather than PO files (.po) 155s --tm=TM The file to use as translation memory when fuzzy 155s matching 155s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 155s The minimum similarity for inclusion (default: 75%) 155s --nofuzzymatching Disable fuzzy matching 155s ========= SMOKE TEST: /usr/bin/poterminology =========== 155s Usage: poterminology [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-u|--update UPDATEFILE] [-S|--stopword-list STOPFILE] [-F|--fold-titlecase] [-C|--preserve-case] [-I|--ignore-case] [--accelerator ACCELERATORS] [-t|--term-words LENGTH] [--nonstop-needed MIN] [--inputs-needed MIN] [--fullmsg-needed MIN] [--substr-needed MIN] [--locs-needed MIN] [--sort ORDER] [--source-language LANG] [-v|--invert] 155s input directory is searched for PO files, terminology PO file is output file 155s 155s Create a terminology file by reading a set of .po or .pot files to produce a 155s pootle-terminology.pot. See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/poterminology.html for examples and usage 155s instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot formats 155s -u UPDATEFILE, --update=UPDATEFILE 155s update terminology in UPDATEFILE 155s -S STOPFILE, --stopword-list=STOPFILE 155s read stopword (term exclusion) list from STOPFILE 155s (default /usr/share/pyshared/translate/share/stoplist- 155s en) 155s -F, --fold-titlecase fold "Title Case" to lowercase (default) 155s -C, --preserve-case preserve all uppercase/lowercase 155s -I, --ignore-case make all terms lowercase 155s --accelerator=ACCELERATORS 155s ignore the given accelerator characters when matching 155s -t LENGTH, --term-words=LENGTH 155s generate terms of up to LENGTH words (default 3) 155s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 155s 1) 155s --inputs-needed=MIN omit terms appearing in less than MIN input files 155s (default 2, or 1 if only one input file) 155s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 155s different messages (default 1) 155s --substr-needed=MIN omit substring-only terms appearing in less than MIN 155s different messages (default 2) 155s --locs-needed=MIN omit terms appearing in less than MIN different 155s original source files (default 2) 155s --sort=ORDER output sort order(s): frequency, dictionary, length 155s (may repeat option, default is all in above order) 155s --source-language=LANG 155s the source language code (default 'en') 155s -v, --invert invert the source and target languages for terminology 155s ========= SMOKE TEST: /usr/bin/pretranslate =========== 155s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 155s 155s Fill localization files with suggested translations based on translation 155s memory and existing translations. See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/pretranslate.html for examples and usage 155s instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot, pot, xlf, xliff formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot, xlf, xliff formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in po, pot, xlf, xliff formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s --tm=TM The file to use as translation memory when fuzzy 155s matching 155s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 155s The minimum similarity for inclusion (default: 75%) 155s --nofuzzymatching Disable fuzzy matching 155s ========= SMOKE TEST: /usr/bin/prop2po =========== 155s Usage: prop2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 155s 155s Convert Java/Mozilla .properties files to Gettext PO localization files. 155s See: http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in lang, properties, strings formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in lang, properties, strings 155s formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s -P, --pot output PO Templates (.pot) rather than PO files (.po) 155s --personality=TYPE override the input file format: java, java-utf8, java- 155s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 155s strings, strings-utf8, joomla (for .properties files, 155s default: java) 155s --encoding=ENCODING override the encoding set by the personality 155s --duplicates=DUPLICATESTYLE 155s what to do with duplicate strings (identical source 155s text): merge, msgctxt (default: 'msgctxt') 155s ========= SMOKE TEST: /usr/bin/pydiff =========== 155s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 155s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 155s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 155s fromfile tofile 155s 155s positional arguments: 155s fromfile 155s tofile 155s 155s options: 155s -h, --help show this help message and exit 155s -i, --ignore-case Ignore case differences in file contents. 155s -U NUM, --unified NUM 155s Output NUM (default 3) lines of unified context 155s -r, --recursive Recursively compare any subdirectories found. 155s -N, --new-file Treat absent files as empty. 155s --unidirectional-new-file 155s Treat absent first files as empty. 155s -s, --report-identical-files 155s Report when two files are the same. 155s -x PAT, --exclude PAT 155s Exclude files that match PAT. 155s --fromcontains TEXT Only show changes where fromfile contains TEXT 155s --tocontains TEXT Only show changes where tofile contains TEXT 155s --contains TEXT Only show changes where fromfile or tofile contains 155s TEXT 155s -I, --ignore-case-contains 155s Ignore case differences when matching any of the 155s changes 155s --accelerator ACCELERATORS 155s ignores the given accelerator characters when matching 155s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 155s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 155s 155s Convert Python format .po files to PHP format .po files. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in po, pot formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s ========= SMOKE TEST: /usr/bin/rc2po =========== 155s Usage: rc2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 155s 155s Convert Windows RC files to Gettext PO localization files. See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in nls, rc formats 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in nls, rc formats 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s -P, --pot output PO Templates (.pot) rather than PO files (.po) 155s --charset=CHARSET charset to use to decode the RC files (autodetection 155s is used by default) 155s -l LANG, --lang=LANG LANG entry (default: None) 155s --sublang=SUBLANG SUBLANG entry (default: None) 155s --duplicates=DUPLICATESTYLE 155s what to do with duplicate strings (identical source 155s text): merge, msgctxt (default: 'msgctxt') 155s ========= SMOKE TEST: /usr/bin/resx2po =========== 155s Usage: resx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 155s 155s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 155s http://docs.translatehouse.org/projects/translate- 155s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 155s 155s Options: 155s --version show program's version number and exit 155s -h, --help show this help message and exit 155s --manpage output a manpage based on the help 155s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 155s --errorlevel=ERRORLEVEL 155s show errorlevel as: none, message, exception, 155s traceback 155s -i INPUT, --input=INPUT 155s read from INPUT in resx format 155s -x EXCLUDE, --exclude=EXCLUDE 155s exclude names matching EXCLUDE from input paths 155s -o OUTPUT, --output=OUTPUT 155s write to OUTPUT in po, pot formats 155s -t TEMPLATE, --template=TEMPLATE 155s read from TEMPLATE in resx format 155s -S, --timestamp skip conversion if the output file has newer timestamp 155s -P, --pot output PO Templates (.pot) rather than PO files (.po) 155s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 155s everything) 155s --duplicates=DUPLICATESTYLE 155s what to do with duplicate strings (identical source 155s text): merge, msgctxt (default: 'msgctxt') 155s ========= SMOKE TEST: /usr/bin/sub2po =========== 156s Usage: sub2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 156s 156s Convert subtitle files to Gettext PO localization files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in ass, srt, ssa, sub formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in ass, srt, ssa, sub formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -P, --pot output PO Templates (.pot) rather than PO files (.po) 156s --duplicates=DUPLICATESTYLE 156s what to do with duplicate strings (identical source 156s text): merge, msgctxt (default: 'msgctxt') 156s ========= SMOKE TEST: /usr/bin/symb2po =========== 156s Usage: symb2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 156s 156s Convert Symbian localisation files to Gettext PO localization files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in r01 format 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -t TEMPLATE, --template=TEMPLATE 156s read from TEMPLATE in 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -P, --pot output PO Templates (.pot) rather than PO files (.po) 156s --duplicates=DUPLICATESTYLE 156s what to do with duplicate strings (identical source 156s text): merge, msgctxt (default: 'msgctxt') 156s ========= SMOKE TEST: /usr/bin/tbx2po =========== 156s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 156s 156s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in tbx format 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s ========= SMOKE TEST: /usr/bin/tiki2po =========== 156s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 156s 156s Convert TikiWiki's language.php files to Gettext PO localization files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in php format 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s --include-unused Include strings in the unused section 156s ========= SMOKE TEST: /usr/bin/tmserver =========== 156s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 156s [-s SOURCE_LANG] [-b BIND] [-p PORT] 156s [--max-candidates MAX_CANDIDATES] 156s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 156s [--debug] 156s 156s options: 156s -h, --help show this help message and exit 156s -d TMDBFILE, --tmdb TMDBFILE 156s translation memory database file 156s -f TMFILES, --import-translation-file TMFILES 156s translation file to import into the database 156s -t TARGET_LANG, --import-target-lang TARGET_LANG 156s target language of translation files 156s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 156s source language of translation files 156s -b BIND, --bind BIND address to bind server to (default: localhost) 156s -p PORT, --port PORT port to listen on (default: 8888) 156s --max-candidates MAX_CANDIDATES 156s Maximum number of candidates 156s --min-similarity MIN_SIMILARITY 156s minimum similarity 156s --max-length MAX_LENGTH 156s Maxmimum string length 156s --debug enable debugging features 156s ========= SMOKE TEST: /usr/bin/ts2po =========== 156s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 156s 156s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in ts format 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -P, --pot output PO Templates (.pot) rather than PO files (.po) 156s --duplicates=DUPLICATESTYLE 156s what to do with duplicate strings (identical source 156s text): merge, msgctxt (default: 'msgctxt') 156s ========= SMOKE TEST: /usr/bin/txt2po =========== 156s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 156s 156s Convert plain text (.txt) files to Gettext PO localization files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in *, txt formats 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -P, --pot output PO Templates (.pot) rather than PO files (.po) 156s --encoding=ENCODING The encoding of the input file (default: UTF-8) 156s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 156s mediawiki 156s --no-segmentation Don't segment the file, treat it like a single message 156s --duplicates=DUPLICATESTYLE 156s what to do with duplicate strings (identical source 156s text): merge, msgctxt (default: 'msgctxt') 156s ========= SMOKE TEST: /usr/bin/web2py2po =========== 156s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 156s 156s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 156s http://docs.translatehouse.org/projects/translate- 156s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 156s 156s Options: 156s --version show program's version number and exit 156s -h, --help show this help message and exit 156s --manpage output a manpage based on the help 156s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 156s --errorlevel=ERRORLEVEL 156s show errorlevel as: none, message, exception, 156s traceback 156s -i INPUT, --input=INPUT 156s read from INPUT in py format 156s -x EXCLUDE, --exclude=EXCLUDE 156s exclude names matching EXCLUDE from input paths 156s -o OUTPUT, --output=OUTPUT 156s write to OUTPUT in po, pot formats 156s -S, --timestamp skip conversion if the output file has newer timestamp 156s -P, --pot output PO Templates (.pot) rather than PO files (.po) 156s --duplicates=DUPLICATESTYLE 156s what to do with duplicate strings (identical source 156s text): merge, msgctxt (default: 'msgctxt') 156s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 157s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert XLIFF translation files to OpenDocument (ODF) files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in xlf format 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 157s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 157s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 157s formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 157s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 157s 157s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 157s file. See: http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in po, pot, xlf, xliff formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in oo, sdf formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in oo, sdf formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s -l LANG, --language=LANG 157s set target language code (e.g. af-ZA) [required] 157s --source-language=LANG 157s set source language code (default en-US) 157s -T, --keeptimestamp don't change the timestamps of the strings 157s --nonrecursiveoutput don't treat the output oo as a recursive store 157s --nonrecursivetemplate 157s don't treat the template oo as a recursive store 157s --skipsource don't output the source language, but fallback to it 157s where needed 157s --filteraction=ACTION 157s action on pofilter failure: none (default), warn, 157s exclude-serious, exclude-all 157s --fuzzy use translations marked fuzzy 157s --nofuzzy don't use translations marked fuzzy (default) 157s --multifile=MULTIFILESTYLE 157s how to split po/pot files (single, toplevel or 157s onefile) 157s ========= SMOKE TEST: /usr/bin/xliff2po =========== 157s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 157s 157s Convert XLIFF localization files to Gettext PO localization files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in xlf, xliff formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in po, pot formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s -P, --pot output PO Templates (.pot) rather than PO files (.po) 157s --duplicates=DUPLICATESTYLE 157s what to do with duplicate strings (identical source 157s text): merge, msgctxt (default: 'msgctxt') 157s ========= SMOKE TEST: /usr/bin/yaml2po =========== 157s Usage: yaml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 157s 157s Convert YAML files to Gettext PO localization files. See: 157s http://docs.translatehouse.org/projects/translate- 157s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 157s 157s Options: 157s --version show program's version number and exit 157s -h, --help show this help message and exit 157s --manpage output a manpage based on the help 157s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 157s --errorlevel=ERRORLEVEL 157s show errorlevel as: none, message, exception, 157s traceback 157s -i INPUT, --input=INPUT 157s read from INPUT in yaml, yml formats 157s -x EXCLUDE, --exclude=EXCLUDE 157s exclude names matching EXCLUDE from input paths 157s -o OUTPUT, --output=OUTPUT 157s write to OUTPUT in po, pot formats 157s -t TEMPLATE, --template=TEMPLATE 157s read from TEMPLATE in yaml, yml formats 157s -S, --timestamp skip conversion if the output file has newer timestamp 157s -P, --pot output PO Templates (.pot) rather than PO files (.po) 157s --duplicates=DUPLICATESTYLE 157s what to do with duplicate strings (identical source 157s text): merge, msgctxt (default: 'msgctxt') 157s autopkgtest [10:02:02]: test translate-toolkit: -----------------------] 158s autopkgtest [10:02:03]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 158s translate-toolkit PASS 158s autopkgtest [10:02:03]: test python3-translate: preparing testbed 275s autopkgtest [10:04:00]: testbed dpkg architecture: s390x 276s autopkgtest [10:04:01]: testbed apt version: 2.9.8 276s autopkgtest [10:04:01]: @@@@@@@@@@@@@@@@@@@@ test bed setup 276s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 277s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [2840 B] 277s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [28.1 kB] 277s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 277s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [212 kB] 277s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [42.1 kB] 277s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [234 kB] 277s Fetched 600 kB in 1s (976 kB/s) 277s Reading package lists... 279s Reading package lists... 279s Building dependency tree... 279s Reading state information... 279s Calculating upgrade... 279s The following packages were automatically installed and are no longer required: 279s libperl5.38t64 perl-modules-5.38 279s Use 'sudo apt autoremove' to remove them. 279s The following NEW packages will be installed: 279s libperl5.40 perl-modules-5.40 python3-jaraco.text 279s The following packages will be upgraded: 279s info install-info libkeyutils1 liblocale-gettext-perl libtext-charwidth-perl 279s libtext-iconv-perl perl perl-base python3-pkg-resources python3-setuptools 279s vim-common vim-tiny xxd 279s 13 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 279s Need to get 12.6 MB of archives. 279s After this operation, 50.3 MB of additional disk space will be used. 279s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x perl-modules-5.40 all 5.40.0-6 [3214 kB] 280s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libperl5.40 s390x 5.40.0-6 [4984 kB] 280s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x perl s390x 5.40.0-6 [262 kB] 280s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x perl-base s390x 5.40.0-6 [1971 kB] 280s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x liblocale-gettext-perl s390x 1.07-7build1 [15.9 kB] 280s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libtext-iconv-perl s390x 1.7-8build4 [13.8 kB] 280s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libtext-charwidth-perl s390x 0.04-11build4 [9646 B] 280s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x install-info s390x 7.1.1-1 [64.8 kB] 280s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libkeyutils1 s390x 1.6.3-4ubuntu2 [9960 B] 280s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x vim-tiny s390x 2:9.1.0777-1ubuntu1 [664 kB] 280s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x vim-common all 2:9.1.0777-1ubuntu1 [394 kB] 280s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x xxd s390x 2:9.1.0777-1ubuntu1 [66.5 kB] 280s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x info s390x 7.1.1-1 [149 kB] 280s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jaraco.text all 4.0.0-1 [11.5 kB] 280s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-pkg-resources all 75.2.0-1 [134 kB] 280s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-setuptools all 75.2.0-1 [657 kB] 280s Fetched 12.6 MB in 1s (12.8 MB/s) 280s (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 ... 55329 files and directories currently installed.) 280s Preparing to unpack .../perl_5.40.0-6_s390x.deb ... 280s Unpacking perl (5.40.0-6) over (5.38.2-5) ... 280s Selecting previously unselected package perl-modules-5.40. 280s Preparing to unpack .../perl-modules-5.40_5.40.0-6_all.deb ... 280s Unpacking perl-modules-5.40 (5.40.0-6) ... 281s Selecting previously unselected package libperl5.40:s390x. 281s Preparing to unpack .../libperl5.40_5.40.0-6_s390x.deb ... 281s Unpacking libperl5.40:s390x (5.40.0-6) ... 281s Preparing to unpack .../perl-base_5.40.0-6_s390x.deb ... 281s Unpacking perl-base (5.40.0-6) over (5.38.2-5) ... 281s Setting up perl-base (5.40.0-6) ... 281s (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 ... 57408 files and directories currently installed.) 281s Preparing to unpack .../liblocale-gettext-perl_1.07-7build1_s390x.deb ... 281s Unpacking liblocale-gettext-perl (1.07-7build1) over (1.07-7) ... 281s Preparing to unpack .../libtext-iconv-perl_1.7-8build4_s390x.deb ... 281s Unpacking libtext-iconv-perl:s390x (1.7-8build4) over (1.7-8build3) ... 281s Preparing to unpack .../libtext-charwidth-perl_0.04-11build4_s390x.deb ... 281s Unpacking libtext-charwidth-perl:s390x (0.04-11build4) over (0.04-11build3) ... 281s Preparing to unpack .../install-info_7.1.1-1_s390x.deb ... 281s Unpacking install-info (7.1.1-1) over (7.1-3build2) ... 281s Setting up install-info (7.1.1-1) ... 281s (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 ... 57408 files and directories currently installed.) 281s Preparing to unpack .../0-libkeyutils1_1.6.3-4ubuntu2_s390x.deb ... 281s Unpacking libkeyutils1:s390x (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 281s Preparing to unpack .../1-vim-tiny_2%3a9.1.0777-1ubuntu1_s390x.deb ... 281s Unpacking vim-tiny (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 281s Preparing to unpack .../2-vim-common_2%3a9.1.0777-1ubuntu1_all.deb ... 281s Unpacking vim-common (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 281s Preparing to unpack .../3-xxd_2%3a9.1.0777-1ubuntu1_s390x.deb ... 281s Unpacking xxd (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 281s Preparing to unpack .../4-info_7.1.1-1_s390x.deb ... 281s Unpacking info (7.1.1-1) over (7.1-3build2) ... 281s Selecting previously unselected package python3-jaraco.text. 281s Preparing to unpack .../5-python3-jaraco.text_4.0.0-1_all.deb ... 281s Unpacking python3-jaraco.text (4.0.0-1) ... 281s Preparing to unpack .../6-python3-pkg-resources_75.2.0-1_all.deb ... 281s Unpacking python3-pkg-resources (75.2.0-1) over (74.1.2-1) ... 281s Preparing to unpack .../7-python3-setuptools_75.2.0-1_all.deb ... 281s Unpacking python3-setuptools (75.2.0-1) over (74.1.2-1) ... 281s Setting up python3-pkg-resources (75.2.0-1) ... 281s Setting up libtext-iconv-perl:s390x (1.7-8build4) ... 281s Setting up libtext-charwidth-perl:s390x (0.04-11build4) ... 281s Setting up libkeyutils1:s390x (1.6.3-4ubuntu2) ... 281s Setting up xxd (2:9.1.0777-1ubuntu1) ... 281s Setting up vim-common (2:9.1.0777-1ubuntu1) ... 281s Installing new version of config file /etc/vim/vimrc ... 281s Setting up python3-jaraco.text (4.0.0-1) ... 281s Setting up perl-modules-5.40 (5.40.0-6) ... 281s Setting up info (7.1.1-1) ... 281s Setting up liblocale-gettext-perl (1.07-7build1) ... 281s Setting up python3-setuptools (75.2.0-1) ... 282s Setting up vim-tiny (2:9.1.0777-1ubuntu1) ... 282s Setting up libperl5.40:s390x (5.40.0-6) ... 282s Setting up perl (5.40.0-6) ... 282s Processing triggers for libc-bin (2.40-1ubuntu3) ... 282s Processing triggers for man-db (2.12.1-3) ... 283s Processing triggers for install-info (7.1.1-1) ... 283s Reading package lists... 283s Building dependency tree... 283s Reading state information... 284s The following packages will be REMOVED: 284s libperl5.38t64* perl-modules-5.38* 284s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 284s After this operation, 49.5 MB disk space will be freed. 284s (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 ... 57417 files and directories currently installed.) 284s Removing libperl5.38t64:s390x (5.38.2-5) ... 284s Removing perl-modules-5.38 (5.38.2-5) ... 284s Processing triggers for man-db (2.12.1-3) ... 284s Processing triggers for libc-bin (2.40-1ubuntu3) ... 285s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 285s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 285s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 285s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 285s Reading package lists... 285s Reading package lists... 286s Building dependency tree... 286s Reading state information... 286s Calculating upgrade... 286s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 286s Reading package lists... 286s Building dependency tree... 286s Reading state information... 286s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 291s Reading package lists... 291s Building dependency tree... 291s Reading state information... 292s Starting pkgProblemResolver with broken count: 0 292s Starting 2 pkgProblemResolver with broken count: 0 292s Done 292s The following additional packages will be installed: 292s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 292s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 292s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 292s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 292s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 292s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 292s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 292s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 292s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 292s python3-syrupy python3-translate python3-vobject python3-wcwidth 292s python3-xapian subversion 292s Suggested packages: 292s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 292s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 292s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 292s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 292s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 292s subversion-tools 292s Recommended packages: 292s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 292s python3-cssselect python3-html5lib python3-tz 292s The following NEW packages will be installed: 292s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 292s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 292s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 292s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 292s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 292s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 292s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 292s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 292s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 292s python3-syrupy python3-translate python3-vobject python3-wcwidth 292s python3-xapian subversion 292s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 292s Need to get 11.4 MB/11.4 MB of archives. 292s After this operation, 50.4 MB of additional disk space will be used. 292s Get:1 /tmp/autopkgtest.Ycs8t9/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [896 B] 292s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x emacsen-common all 3.0.5 [12.1 kB] 292s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x dictionaries-common all 1.29.7 [188 kB] 292s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 14.2.0-7ubuntu1 [151 kB] 292s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x gettext s390x 0.22.5-2 [996 kB] 292s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 292s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libapr1t64 s390x 1.7.2-3.2ubuntu1 [114 kB] 292s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu1 [98.3 kB] 292s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 292s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 292s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 292s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 292s Get:13 http://ftpmaster.internal/ubuntu plucky/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 292s Get:14 http://ftpmaster.internal/ubuntu plucky/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 292s Get:15 http://ftpmaster.internal/ubuntu plucky/universe s390x libsvn1 s390x 1.14.4-2 [1370 kB] 292s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x libxapian30 s390x 1.4.25-1 [725 kB] 293s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu1 [169 kB] 293s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-aeidon all 1.15-1 [231 kB] 293s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x python3-all s390x 3.12.6-0ubuntu1 [890 B] 293s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x python3-soupsieve all 2.6-1 [33.0 kB] 293s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x python3-bs4 all 4.12.3-3 [109 kB] 293s Get:22 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-charset-normalizer s390x 3.3.2-2 [120 kB] 293s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 293s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.16.0-7 [13.1 kB] 293s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 293s Get:26 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 293s Get:27 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 293s Get:28 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 293s Get:29 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-rapidfuzz s390x 3.9.4+ds-1 [1481 kB] 293s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 293s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x python3-lxml s390x 5.3.0-1 [1314 kB] 293s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 293s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.1-1 [41.4 kB] 293s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x python3-ply all 3.11-7 [45.4 kB] 293s Get:35 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 293s Get:36 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 293s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.2-1 [251 kB] 293s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ruamel.yaml.clib s390x 0.2.8+ds-2 [143 kB] 293s Get:39 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 293s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 293s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 293s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 293s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-translate all 3.13.2-2 [319 kB] 293s Get:44 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 293s Get:45 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-xapian s390x 1.4.25-1build3 [428 kB] 293s Get:46 http://ftpmaster.internal/ubuntu plucky/universe s390x subversion s390x 1.14.4-2 [910 kB] 293s Get:47 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 293s Get:48 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 293s Preconfiguring packages ... 293s Fetched 11.4 MB in 1s (10.4 MB/s) 293s Selecting previously unselected package emacsen-common. 293s (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 ... 55484 files and directories currently installed.) 293s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 293s Unpacking emacsen-common (3.0.5) ... 293s Selecting previously unselected package dictionaries-common. 293s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 293s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 293s Unpacking dictionaries-common (1.29.7) ... 293s Selecting previously unselected package libgomp1:s390x. 293s Preparing to unpack .../02-libgomp1_14.2.0-7ubuntu1_s390x.deb ... 293s Unpacking libgomp1:s390x (14.2.0-7ubuntu1) ... 293s Selecting previously unselected package gettext. 293s Preparing to unpack .../03-gettext_0.22.5-2_s390x.deb ... 293s Unpacking gettext (0.22.5-2) ... 293s Selecting previously unselected package hunspell-en-us. 293s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 293s Unpacking hunspell-en-us (1:2020.12.07-2) ... 293s Selecting previously unselected package libapr1t64:s390x. 293s Preparing to unpack .../05-libapr1t64_1.7.2-3.2ubuntu1_s390x.deb ... 293s Unpacking libapr1t64:s390x (1.7.2-3.2ubuntu1) ... 293s Selecting previously unselected package libaprutil1t64:s390x. 293s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu1_s390x.deb ... 293s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu1) ... 293s Selecting previously unselected package libaspell15:s390x. 293s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 293s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 293s Selecting previously unselected package libhunspell-1.7-0:s390x. 293s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 293s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 293s Selecting previously unselected package libenchant-2-2:s390x. 293s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 293s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 293s Selecting previously unselected package libexttextcat-data. 293s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 293s Unpacking libexttextcat-data (3.4.7-1build1) ... 293s Selecting previously unselected package libserf-1-1:s390x. 293s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 293s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 293s Selecting previously unselected package libutf8proc3:s390x. 293s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 293s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 293s Selecting previously unselected package libsvn1:s390x. 293s Preparing to unpack .../13-libsvn1_1.14.4-2_s390x.deb ... 293s Unpacking libsvn1:s390x (1.14.4-2) ... 293s Selecting previously unselected package libxapian30:s390x. 293s Preparing to unpack .../14-libxapian30_1.4.25-1_s390x.deb ... 293s Unpacking libxapian30:s390x (1.4.25-1) ... 293s Selecting previously unselected package libxslt1.1:s390x. 293s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_s390x.deb ... 293s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu1) ... 293s Selecting previously unselected package python3-aeidon. 293s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 293s Unpacking python3-aeidon (1.15-1) ... 293s Selecting previously unselected package python3-all. 294s Preparing to unpack .../17-python3-all_3.12.6-0ubuntu1_s390x.deb ... 294s Unpacking python3-all (3.12.6-0ubuntu1) ... 294s Selecting previously unselected package python3-soupsieve. 294s Preparing to unpack .../18-python3-soupsieve_2.6-1_all.deb ... 294s Unpacking python3-soupsieve (2.6-1) ... 294s Selecting previously unselected package python3-bs4. 294s Preparing to unpack .../19-python3-bs4_4.12.3-3_all.deb ... 294s Unpacking python3-bs4 (4.12.3-3) ... 294s Selecting previously unselected package python3-charset-normalizer. 294s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-2_s390x.deb ... 294s Unpacking python3-charset-normalizer (3.3.2-2) ... 294s Selecting previously unselected package python3-cheroot. 294s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 294s Unpacking python3-cheroot (10.0.0+ds1-2) ... 294s Selecting previously unselected package python3-six. 294s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 294s Unpacking python3-six (1.16.0-7) ... 294s Selecting previously unselected package python3-dateutil. 294s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 294s Unpacking python3-dateutil (2.9.0-2) ... 294s Selecting previously unselected package python3-diff-match-patch. 294s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 294s Unpacking python3-diff-match-patch (20230430-1) ... 294s Selecting previously unselected package python3-enchant. 294s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 294s Unpacking python3-enchant (3.2.2-1) ... 294s Selecting previously unselected package python3-iniconfig. 294s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 294s Unpacking python3-iniconfig (1.1.1-2) ... 294s Selecting previously unselected package python3-rapidfuzz. 294s Preparing to unpack .../27-python3-rapidfuzz_3.9.4+ds-1_s390x.deb ... 294s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 294s Selecting previously unselected package python3-levenshtein. 294s Preparing to unpack .../28-python3-levenshtein_0.25.1-3_s390x.deb ... 294s Unpacking python3-levenshtein (0.25.1-3) ... 294s Selecting previously unselected package python3-lxml:s390x. 294s Preparing to unpack .../29-python3-lxml_5.3.0-1_s390x.deb ... 294s Unpacking python3-lxml:s390x (5.3.0-1) ... 294s Selecting previously unselected package python3-mistletoe. 294s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 294s Unpacking python3-mistletoe (1.3.0-1) ... 294s Selecting previously unselected package python3-packaging. 294s Preparing to unpack .../31-python3-packaging_24.1-1_all.deb ... 294s Unpacking python3-packaging (24.1-1) ... 294s Selecting previously unselected package python3-ply. 294s Preparing to unpack .../32-python3-ply_3.11-7_all.deb ... 294s Unpacking python3-ply (3.11-7) ... 294s Selecting previously unselected package python3-phply. 294s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 294s Unpacking python3-phply (1.2.6-1) ... 294s Selecting previously unselected package python3-pluggy. 294s Preparing to unpack .../34-python3-pluggy_1.5.0-1_all.deb ... 294s Unpacking python3-pluggy (1.5.0-1) ... 294s Selecting previously unselected package python3-pytest. 294s Preparing to unpack .../35-python3-pytest_8.3.2-1_all.deb ... 294s Unpacking python3-pytest (8.3.2-1) ... 294s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 294s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-2_s390x.deb ... 294s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8+ds-2) ... 294s Selecting previously unselected package python3-ruamel.yaml. 294s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 294s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 294s Selecting previously unselected package python3-simplejson. 294s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_s390x.deb ... 294s Unpacking python3-simplejson (3.19.2-1build2) ... 294s Selecting previously unselected package python3-syrupy. 294s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 294s Unpacking python3-syrupy (4.6.1-1) ... 294s Selecting previously unselected package python3-wcwidth. 294s Preparing to unpack .../40-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 294s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 294s Selecting previously unselected package python3-translate. 294s Preparing to unpack .../41-python3-translate_3.13.2-2_all.deb ... 294s Unpacking python3-translate (3.13.2-2) ... 294s Selecting previously unselected package python3-vobject. 294s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 294s Unpacking python3-vobject (0.9.6.1-2) ... 294s Selecting previously unselected package python3-xapian. 294s Preparing to unpack .../43-python3-xapian_1.4.25-1build3_s390x.deb ... 294s Unpacking python3-xapian (1.4.25-1build3) ... 294s Selecting previously unselected package subversion. 294s Preparing to unpack .../44-subversion_1.14.4-2_s390x.deb ... 294s Unpacking subversion (1.14.4-2) ... 294s Selecting previously unselected package python3-iniparse. 294s Preparing to unpack .../45-python3-iniparse_0.5-2_all.deb ... 294s Unpacking python3-iniparse (0.5-2) ... 294s Selecting previously unselected package python3-pycountry. 294s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 294s Unpacking python3-pycountry (24.6.1+ds1-1) ... 294s Selecting previously unselected package autopkgtest-satdep. 294s Preparing to unpack .../47-2-autopkgtest-satdep.deb ... 294s Unpacking autopkgtest-satdep (0) ... 294s Setting up python3-iniconfig (1.1.1-2) ... 294s Setting up libxapian30:s390x (1.4.25-1) ... 294s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 294s Setting up python3-diff-match-patch (20230430-1) ... 294s Setting up python3-aeidon (1.15-1) ... 294s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 294s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 294s Setting up python3-charset-normalizer (3.3.2-2) ... 295s Setting up python3-ply (3.11-7) ... 295s Setting up python3-ruamel.yaml.clib:s390x (0.2.8+ds-2) ... 295s Setting up python3-all (3.12.6-0ubuntu1) ... 295s Setting up libgomp1:s390x (14.2.0-7ubuntu1) ... 295s Setting up python3-six (1.16.0-7) ... 295s Setting up python3-simplejson (3.19.2-1build2) ... 295s Setting up python3-packaging (24.1-1) ... 295s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 295s Setting up emacsen-common (3.0.5) ... 295s Setting up python3-cheroot (10.0.0+ds1-2) ... 295s Setting up python3-pycountry (24.6.1+ds1-1) ... 295s Setting up python3-xapian (1.4.25-1build3) ... 295s Setting up python3-pluggy (1.5.0-1) ... 295s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 296s Setting up python3-mistletoe (1.3.0-1) ... 296s Setting up libexttextcat-data (3.4.7-1build1) ... 296s Setting up libapr1t64:s390x (1.7.2-3.2ubuntu1) ... 296s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu1) ... 296s Setting up python3-dateutil (2.9.0-2) ... 296s Setting up python3-levenshtein (0.25.1-3) ... 296s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 296s Setting up python3-soupsieve (2.6-1) ... 296s Setting up python3-iniparse (0.5-2) ... 296s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu1) ... 296s Setting up python3-vobject (0.9.6.1-2) ... 296s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 296s patterns['name'] = '[a-zA-Z0-9\-_]+' 296s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 296s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 296s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 296s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 296s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 296s """ 296s Setting up gettext (0.22.5-2) ... 296s Setting up python3-phply (1.2.6-1) ... 297s Setting up dictionaries-common (1.29.7) ... 297s Setting up python3-pytest (8.3.2-1) ... 297s Setting up python3-syrupy (4.6.1-1) ... 297s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 297s Setting up python3-bs4 (4.12.3-3) ... 297s Setting up python3-lxml:s390x (5.3.0-1) ... 297s Setting up hunspell-en-us (1:2020.12.07-2) ... 297s Setting up libsvn1:s390x (1.14.4-2) ... 297s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 297s Setting up subversion (1.14.4-2) ... 297s Setting up python3-enchant (3.2.2-1) ... 298s Setting up python3-translate (3.13.2-2) ... 298s Setting up autopkgtest-satdep (0) ... 298s Processing triggers for man-db (2.12.1-3) ... 298s Processing triggers for install-info (7.1.1-1) ... 299s Processing triggers for libc-bin (2.40-1ubuntu3) ... 299s Processing triggers for dictionaries-common (1.29.7) ... 301s (Reading database ... 58991 files and directories currently installed.) 301s Removing autopkgtest-satdep (0) ... 303s autopkgtest [10:04:28]: test python3-translate: [----------------------- 303s ============================= test session starts ============================== 303s platform linux -- Python 3.12.7, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3.12 303s cachedir: .pytest_cache 303s rootdir: /tmp/autopkgtest.Ycs8t9/autopkgtest_tmp 303s plugins: typeguard-4.3.0, syrupy-4.6.1 307s collecting ... collected 3340 items / 2 skipped 307s 307s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 307s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 307s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 307s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 307s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 307s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 307s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 307s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 307s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 307s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 307s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 307s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 307s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 307s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 307s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 308s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 308s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 308s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 308s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 308s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 308s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 308s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 308s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 308s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 308s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 308s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 308s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 308s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 308s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 308s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 308s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 308s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 308s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 308s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 308s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 308s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 308s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 308s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 308s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 308s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 308s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 308s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 308s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 309s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 309s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 309s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 309s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 309s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 309s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 309s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 309s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 309s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 309s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 309s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 309s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 309s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 309s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 309s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 309s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 309s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 309s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 309s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 309s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 309s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 309s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 309s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 309s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 309s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 309s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 309s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 309s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 309s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 309s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 309s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 309s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 309s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 309s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 309s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 309s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 309s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 309s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 309s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 310s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 310s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 310s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 310s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 310s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 310s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 310s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 310s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 310s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 310s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 310s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 310s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 310s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 310s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 310s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 310s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 310s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 310s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 310s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 310s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 310s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 310s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 310s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 310s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 310s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 310s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 310s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 310s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 310s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 310s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 310s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 310s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 310s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 310s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 310s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 310s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 310s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 310s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 310s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 310s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 310s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 310s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 310s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 310s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 310s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 310s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 310s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 310s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 310s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 310s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 310s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 310s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 310s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 310s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 310s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 310s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 310s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 310s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 310s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 310s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 310s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 310s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 310s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 310s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 310s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 310s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 310s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 310s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 310s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 310s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 310s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 311s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 311s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 311s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 311s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 41%] 311s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 41%] 311s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 41%] 311s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 41%] 311s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 41%] 311s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 311s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 311s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 311s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 311s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 311s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 311s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 311s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 311s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 311s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 311s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 311s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 311s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 311s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 311s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 311s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 311s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 311s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 58%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 311s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 311s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 311s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 311s 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%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 311s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 311s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 311s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 311s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 311s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 311s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 311s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 311s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 311s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 311s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 311s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 311s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 311s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 311s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 311s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 311s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 311s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 311s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 311s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 311s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 312s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 312s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 312s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 312s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 312s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 312s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 312s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 312s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 312s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 312s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 312s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 312s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 313s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 313s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 313s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 313s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 313s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 313s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 313s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 313s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 84%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 313s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 85%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 313s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 313s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 313s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 313s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 313s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 313s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 313s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 86%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 313s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 313s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 313s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 313s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 313s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 313s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 313s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 313s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 313s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 313s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 313s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 314s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 314s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 92%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 314s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 314s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 314s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 314s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 314s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 314s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 314s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 314s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 314s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 314s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 314s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 314s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 314s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 314s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 314s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 314s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 314s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 314s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 314s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 314s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 314s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 314s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 314s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 314s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 314s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 314s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 314s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 314s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 314s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 314s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 314s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 314s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 314s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 314s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 314s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 314s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 315s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 315s 315s =============================== warnings summary =============================== 315s tests/translate/storage/test_cpo.py:15 315s Warning: 315s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 315s ImportError('gettext PO library not found') 315s In pytest 9.1 this warning will become an error by default. 315s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 315s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 315s 315s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 315s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Ycs8t9/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 315s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 315s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 315s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 315s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 315s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 315s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 315s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 315s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 315s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 315s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 315s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 315s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 315s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 315s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 315s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 315s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 315s Warning: Could not find accesskey for key.accesskey 315s 315s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 315s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 315s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 315s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 315s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 315s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Ycs8t9/autopkgtest_tmp/tests/translate/convert/test.idml'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 315s Warning: unclosed file <_io.BufferedReader name='translation.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 315s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 315s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 315s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 315s Warning: Could not find accesskey for prop.accesskey 315s 315s tests/translate/convert/test_po2tmx.py: 26 warnings 315s tests/translate/filters/test_pofilter.py: 13 warnings 315s tests/translate/storage/test_tbx.py: 17 warnings 315s tests/translate/storage/test_tmx.py: 24 warnings 315s 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' 315s 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 315s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 315s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 315s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 315s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 315s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 315s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 315s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 315s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 315s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 315s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 315s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Ycs8t9/autopkgtest_tmp/tests/translate/convert/test.odt'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 315s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 315s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 315s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 315s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 315s Enable tracemalloc to get traceback where the object was allocated. 315s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 315s 315s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 315s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 315s 315s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 315s Warning: DTD file '' does not validate 315s 315s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 315s --------------------------- snapshot report summary ---------------------------- 315s 23 snapshots passed. 315s =========================== short test summary info ============================ 315s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 315s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 315s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 315s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 315s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 315s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 315s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 315s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 315s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 315s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 315s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 315s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 315s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 315s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 315s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 315s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 315s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 315s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 315s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 315s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 315s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 315s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 315s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 315s 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. 315s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 315s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 315s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 315s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 315s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 315s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 315s 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 315s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 315s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 315s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 315s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 315s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 315s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 315s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 315s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 315s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 315s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 315s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 315s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 315s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 315s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 315s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 315s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 315s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 315s ========= 3279 passed, 22 skipped, 41 xfailed, 127 warnings in 11.73s ========== 315s autopkgtest [10:04:40]: test python3-translate: -----------------------] 316s autopkgtest [10:04:41]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 316s python3-translate PASS 316s autopkgtest [10:04:41]: test python3-translate-commands: preparing testbed 441s autopkgtest [10:06:46]: testbed dpkg architecture: s390x 441s autopkgtest [10:06:46]: testbed apt version: 2.9.8 441s autopkgtest [10:06:46]: @@@@@@@@@@@@@@@@@@@@ test bed setup 442s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 442s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 442s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [212 kB] 442s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [2840 B] 442s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [28.1 kB] 442s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [42.1 kB] 442s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [234 kB] 442s Fetched 600 kB in 1s (971 kB/s) 442s Reading package lists... 444s Reading package lists... 444s Building dependency tree... 444s Reading state information... 444s Calculating upgrade... 445s The following packages were automatically installed and are no longer required: 445s libperl5.38t64 perl-modules-5.38 445s Use 'sudo apt autoremove' to remove them. 445s The following NEW packages will be installed: 445s libperl5.40 perl-modules-5.40 python3-jaraco.text 445s The following packages will be upgraded: 445s info install-info libkeyutils1 liblocale-gettext-perl libtext-charwidth-perl 445s libtext-iconv-perl perl perl-base python3-pkg-resources python3-setuptools 445s vim-common vim-tiny xxd 445s 13 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 445s Need to get 12.6 MB of archives. 445s After this operation, 50.3 MB of additional disk space will be used. 445s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x perl-modules-5.40 all 5.40.0-6 [3214 kB] 445s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libperl5.40 s390x 5.40.0-6 [4984 kB] 445s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x perl s390x 5.40.0-6 [262 kB] 445s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x perl-base s390x 5.40.0-6 [1971 kB] 445s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x liblocale-gettext-perl s390x 1.07-7build1 [15.9 kB] 445s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libtext-iconv-perl s390x 1.7-8build4 [13.8 kB] 445s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libtext-charwidth-perl s390x 0.04-11build4 [9646 B] 445s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x install-info s390x 7.1.1-1 [64.8 kB] 445s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libkeyutils1 s390x 1.6.3-4ubuntu2 [9960 B] 445s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x vim-tiny s390x 2:9.1.0777-1ubuntu1 [664 kB] 446s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x vim-common all 2:9.1.0777-1ubuntu1 [394 kB] 446s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x xxd s390x 2:9.1.0777-1ubuntu1 [66.5 kB] 446s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x info s390x 7.1.1-1 [149 kB] 446s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jaraco.text all 4.0.0-1 [11.5 kB] 446s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-pkg-resources all 75.2.0-1 [134 kB] 446s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-setuptools all 75.2.0-1 [657 kB] 446s Fetched 12.6 MB in 1s (12.1 MB/s) 446s (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 ... 55329 files and directories currently installed.) 446s Preparing to unpack .../perl_5.40.0-6_s390x.deb ... 446s Unpacking perl (5.40.0-6) over (5.38.2-5) ... 446s Selecting previously unselected package perl-modules-5.40. 446s Preparing to unpack .../perl-modules-5.40_5.40.0-6_all.deb ... 446s Unpacking perl-modules-5.40 (5.40.0-6) ... 446s Selecting previously unselected package libperl5.40:s390x. 446s Preparing to unpack .../libperl5.40_5.40.0-6_s390x.deb ... 446s Unpacking libperl5.40:s390x (5.40.0-6) ... 446s Preparing to unpack .../perl-base_5.40.0-6_s390x.deb ... 446s Unpacking perl-base (5.40.0-6) over (5.38.2-5) ... 446s Setting up perl-base (5.40.0-6) ... 447s (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 ... 57408 files and directories currently installed.) 447s Preparing to unpack .../liblocale-gettext-perl_1.07-7build1_s390x.deb ... 447s Unpacking liblocale-gettext-perl (1.07-7build1) over (1.07-7) ... 447s Preparing to unpack .../libtext-iconv-perl_1.7-8build4_s390x.deb ... 447s Unpacking libtext-iconv-perl:s390x (1.7-8build4) over (1.7-8build3) ... 447s Preparing to unpack .../libtext-charwidth-perl_0.04-11build4_s390x.deb ... 447s Unpacking libtext-charwidth-perl:s390x (0.04-11build4) over (0.04-11build3) ... 447s Preparing to unpack .../install-info_7.1.1-1_s390x.deb ... 447s Unpacking install-info (7.1.1-1) over (7.1-3build2) ... 447s Setting up install-info (7.1.1-1) ... 447s (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 ... 57408 files and directories currently installed.) 447s Preparing to unpack .../0-libkeyutils1_1.6.3-4ubuntu2_s390x.deb ... 447s Unpacking libkeyutils1:s390x (1.6.3-4ubuntu2) over (1.6.3-3build1) ... 447s Preparing to unpack .../1-vim-tiny_2%3a9.1.0777-1ubuntu1_s390x.deb ... 447s Unpacking vim-tiny (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 447s Preparing to unpack .../2-vim-common_2%3a9.1.0777-1ubuntu1_all.deb ... 447s Unpacking vim-common (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 447s Preparing to unpack .../3-xxd_2%3a9.1.0777-1ubuntu1_s390x.deb ... 447s Unpacking xxd (2:9.1.0777-1ubuntu1) over (2:9.1.0496-1ubuntu6) ... 447s Preparing to unpack .../4-info_7.1.1-1_s390x.deb ... 447s Unpacking info (7.1.1-1) over (7.1-3build2) ... 447s Selecting previously unselected package python3-jaraco.text. 447s Preparing to unpack .../5-python3-jaraco.text_4.0.0-1_all.deb ... 447s Unpacking python3-jaraco.text (4.0.0-1) ... 447s Preparing to unpack .../6-python3-pkg-resources_75.2.0-1_all.deb ... 447s Unpacking python3-pkg-resources (75.2.0-1) over (74.1.2-1) ... 447s Preparing to unpack .../7-python3-setuptools_75.2.0-1_all.deb ... 447s Unpacking python3-setuptools (75.2.0-1) over (74.1.2-1) ... 447s Setting up python3-pkg-resources (75.2.0-1) ... 447s Setting up libtext-iconv-perl:s390x (1.7-8build4) ... 447s Setting up libtext-charwidth-perl:s390x (0.04-11build4) ... 447s Setting up libkeyutils1:s390x (1.6.3-4ubuntu2) ... 447s Setting up xxd (2:9.1.0777-1ubuntu1) ... 447s Setting up vim-common (2:9.1.0777-1ubuntu1) ... 447s Installing new version of config file /etc/vim/vimrc ... 447s Setting up python3-jaraco.text (4.0.0-1) ... 447s Setting up perl-modules-5.40 (5.40.0-6) ... 447s Setting up info (7.1.1-1) ... 447s Setting up liblocale-gettext-perl (1.07-7build1) ... 447s Setting up python3-setuptools (75.2.0-1) ... 448s Setting up vim-tiny (2:9.1.0777-1ubuntu1) ... 448s Setting up libperl5.40:s390x (5.40.0-6) ... 448s Setting up perl (5.40.0-6) ... 448s Processing triggers for libc-bin (2.40-1ubuntu3) ... 448s Processing triggers for man-db (2.12.1-3) ... 449s Processing triggers for install-info (7.1.1-1) ... 449s Reading package lists... 449s Building dependency tree... 449s Reading state information... 449s The following packages will be REMOVED: 449s libperl5.38t64* perl-modules-5.38* 450s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 450s After this operation, 49.5 MB disk space will be freed. 450s (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 ... 57417 files and directories currently installed.) 450s Removing libperl5.38t64:s390x (5.38.2-5) ... 450s Removing perl-modules-5.38 (5.38.2-5) ... 450s Processing triggers for man-db (2.12.1-3) ... 450s Processing triggers for libc-bin (2.40-1ubuntu3) ... 451s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 451s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 451s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 451s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 451s Reading package lists... 451s Reading package lists... 452s Building dependency tree... 452s Reading state information... 452s Calculating upgrade... 452s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 452s Reading package lists... 452s Building dependency tree... 452s Reading state information... 452s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 456s Reading package lists... 456s Building dependency tree... 456s Reading state information... 456s Starting pkgProblemResolver with broken count: 0 456s Starting 2 pkgProblemResolver with broken count: 0 456s Done 456s The following additional packages will be installed: 456s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 456s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 456s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 456s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 456s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 456s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 456s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 456s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 456s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 456s python3-syrupy python3-translate python3-vobject python3-wcwidth 456s python3-xapian subversion translate-toolkit 456s Suggested packages: 456s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 456s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 456s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 456s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 456s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 456s subversion-tools 456s Recommended packages: 456s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 456s python3-cssselect python3-html5lib python3-tz translate-toolkit-doc 456s The following NEW packages will be installed: 456s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 456s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 456s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 456s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 456s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 456s python3-iniconfig python3-iniparse python3-levenshtein python3-lxml 456s python3-mistletoe python3-packaging python3-phply python3-pluggy python3-ply 456s python3-pycountry python3-pytest python3-rapidfuzz python3-ruamel.yaml 456s python3-ruamel.yaml.clib python3-simplejson python3-six python3-soupsieve 456s python3-syrupy python3-translate python3-vobject python3-wcwidth 456s python3-xapian subversion translate-toolkit 456s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 456s Need to get 11.5 MB/11.5 MB of archives. 456s After this operation, 50.6 MB of additional disk space will be used. 456s Get:1 /tmp/autopkgtest.Ycs8t9/3-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [904 B] 456s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x emacsen-common all 3.0.5 [12.1 kB] 456s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x dictionaries-common all 1.29.7 [188 kB] 457s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 14.2.0-7ubuntu1 [151 kB] 457s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x gettext s390x 0.22.5-2 [996 kB] 457s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x hunspell-en-us all 1:2020.12.07-2 [280 kB] 457s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libapr1t64 s390x 1.7.2-3.2ubuntu1 [114 kB] 457s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu1 [98.3 kB] 457s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libaspell15 s390x 0.60.8.1-1build1 [352 kB] 457s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 457s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libenchant-2-2 s390x 2.3.3-2build2 [54.5 kB] 457s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libexttextcat-data all 3.4.7-1build1 [193 kB] 457s Get:13 http://ftpmaster.internal/ubuntu plucky/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 457s Get:14 http://ftpmaster.internal/ubuntu plucky/universe s390x libutf8proc3 s390x 2.9.0-1build1 [71.1 kB] 457s Get:15 http://ftpmaster.internal/ubuntu plucky/universe s390x libsvn1 s390x 1.14.4-2 [1370 kB] 457s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x libxapian30 s390x 1.4.25-1 [725 kB] 457s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libxslt1.1 s390x 1.1.39-0exp1ubuntu1 [169 kB] 457s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-aeidon all 1.15-1 [231 kB] 457s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x python3-all s390x 3.12.6-0ubuntu1 [890 B] 457s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x python3-soupsieve all 2.6-1 [33.0 kB] 457s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x python3-bs4 all 4.12.3-3 [109 kB] 457s Get:22 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-charset-normalizer s390x 3.3.2-2 [120 kB] 457s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 457s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.16.0-7 [13.1 kB] 457s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-2 [80.3 kB] 457s Get:26 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-diff-match-patch all 20230430-1 [33.1 kB] 457s Get:27 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-enchant all 3.2.2-1 [34.0 kB] 457s Get:28 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 457s Get:29 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-rapidfuzz s390x 3.9.4+ds-1 [1481 kB] 457s Get:30 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-levenshtein s390x 0.25.1-3 [186 kB] 457s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x python3-lxml s390x 5.3.0-1 [1314 kB] 457s Get:32 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mistletoe all 1.3.0-1 [38.0 kB] 457s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.1-1 [41.4 kB] 457s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x python3-ply all 3.11-7 [45.4 kB] 457s Get:35 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 457s Get:36 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 457s Get:37 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.2-1 [251 kB] 457s Get:38 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ruamel.yaml.clib s390x 0.2.8+ds-2 [143 kB] 457s Get:39 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-ruamel.yaml all 0.18.6+ds-3 [126 kB] 457s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x python3-simplejson s390x 3.19.2-1build2 [55.2 kB] 457s Get:41 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-syrupy all 4.6.1-1 [42.8 kB] 457s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 457s Get:43 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-translate all 3.13.2-2 [319 kB] 457s Get:44 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-vobject all 0.9.6.1-2 [40.6 kB] 457s Get:45 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-xapian s390x 1.4.25-1build3 [428 kB] 457s Get:46 http://ftpmaster.internal/ubuntu plucky/universe s390x subversion s390x 1.14.4-2 [910 kB] 457s Get:47 http://ftpmaster.internal/ubuntu plucky/universe s390x translate-toolkit all 3.13.2-2 [81.0 kB] 457s Get:48 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniparse all 0.5-2 [20.0 kB] 457s Get:49 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 458s Preconfiguring packages ... 458s Fetched 11.5 MB in 1s (10.6 MB/s) 458s Selecting previously unselected package emacsen-common. 458s (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 ... 55484 files and directories currently installed.) 458s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 458s Unpacking emacsen-common (3.0.5) ... 458s Selecting previously unselected package dictionaries-common. 458s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 458s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 458s Unpacking dictionaries-common (1.29.7) ... 458s Selecting previously unselected package libgomp1:s390x. 458s Preparing to unpack .../02-libgomp1_14.2.0-7ubuntu1_s390x.deb ... 458s Unpacking libgomp1:s390x (14.2.0-7ubuntu1) ... 458s Selecting previously unselected package gettext. 458s Preparing to unpack .../03-gettext_0.22.5-2_s390x.deb ... 458s Unpacking gettext (0.22.5-2) ... 458s Selecting previously unselected package hunspell-en-us. 458s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 458s Unpacking hunspell-en-us (1:2020.12.07-2) ... 458s Selecting previously unselected package libapr1t64:s390x. 458s Preparing to unpack .../05-libapr1t64_1.7.2-3.2ubuntu1_s390x.deb ... 458s Unpacking libapr1t64:s390x (1.7.2-3.2ubuntu1) ... 458s Selecting previously unselected package libaprutil1t64:s390x. 458s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu1_s390x.deb ... 458s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu1) ... 458s Selecting previously unselected package libaspell15:s390x. 458s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_s390x.deb ... 458s Unpacking libaspell15:s390x (0.60.8.1-1build1) ... 458s Selecting previously unselected package libhunspell-1.7-0:s390x. 458s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 458s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 458s Selecting previously unselected package libenchant-2-2:s390x. 458s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_s390x.deb ... 458s Unpacking libenchant-2-2:s390x (2.3.3-2build2) ... 458s Selecting previously unselected package libexttextcat-data. 458s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 458s Unpacking libexttextcat-data (3.4.7-1build1) ... 458s Selecting previously unselected package libserf-1-1:s390x. 458s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 458s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 458s Selecting previously unselected package libutf8proc3:s390x. 458s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_s390x.deb ... 458s Unpacking libutf8proc3:s390x (2.9.0-1build1) ... 458s Selecting previously unselected package libsvn1:s390x. 458s Preparing to unpack .../13-libsvn1_1.14.4-2_s390x.deb ... 458s Unpacking libsvn1:s390x (1.14.4-2) ... 458s Selecting previously unselected package libxapian30:s390x. 458s Preparing to unpack .../14-libxapian30_1.4.25-1_s390x.deb ... 458s Unpacking libxapian30:s390x (1.4.25-1) ... 458s Selecting previously unselected package libxslt1.1:s390x. 458s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1ubuntu1_s390x.deb ... 458s Unpacking libxslt1.1:s390x (1.1.39-0exp1ubuntu1) ... 458s Selecting previously unselected package python3-aeidon. 458s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 458s Unpacking python3-aeidon (1.15-1) ... 458s Selecting previously unselected package python3-all. 458s Preparing to unpack .../17-python3-all_3.12.6-0ubuntu1_s390x.deb ... 458s Unpacking python3-all (3.12.6-0ubuntu1) ... 458s Selecting previously unselected package python3-soupsieve. 458s Preparing to unpack .../18-python3-soupsieve_2.6-1_all.deb ... 458s Unpacking python3-soupsieve (2.6-1) ... 458s Selecting previously unselected package python3-bs4. 458s Preparing to unpack .../19-python3-bs4_4.12.3-3_all.deb ... 458s Unpacking python3-bs4 (4.12.3-3) ... 458s Selecting previously unselected package python3-charset-normalizer. 458s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-2_s390x.deb ... 458s Unpacking python3-charset-normalizer (3.3.2-2) ... 458s Selecting previously unselected package python3-cheroot. 458s Preparing to unpack .../21-python3-cheroot_10.0.0+ds1-2_all.deb ... 458s Unpacking python3-cheroot (10.0.0+ds1-2) ... 458s Selecting previously unselected package python3-six. 458s Preparing to unpack .../22-python3-six_1.16.0-7_all.deb ... 458s Unpacking python3-six (1.16.0-7) ... 458s Selecting previously unselected package python3-dateutil. 458s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 458s Unpacking python3-dateutil (2.9.0-2) ... 458s Selecting previously unselected package python3-diff-match-patch. 458s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 458s Unpacking python3-diff-match-patch (20230430-1) ... 458s Selecting previously unselected package python3-enchant. 458s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 458s Unpacking python3-enchant (3.2.2-1) ... 458s Selecting previously unselected package python3-iniconfig. 458s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 458s Unpacking python3-iniconfig (1.1.1-2) ... 458s Selecting previously unselected package python3-rapidfuzz. 458s Preparing to unpack .../27-python3-rapidfuzz_3.9.4+ds-1_s390x.deb ... 458s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 458s Selecting previously unselected package python3-levenshtein. 458s Preparing to unpack .../28-python3-levenshtein_0.25.1-3_s390x.deb ... 458s Unpacking python3-levenshtein (0.25.1-3) ... 458s Selecting previously unselected package python3-lxml:s390x. 458s Preparing to unpack .../29-python3-lxml_5.3.0-1_s390x.deb ... 458s Unpacking python3-lxml:s390x (5.3.0-1) ... 458s Selecting previously unselected package python3-mistletoe. 458s Preparing to unpack .../30-python3-mistletoe_1.3.0-1_all.deb ... 458s Unpacking python3-mistletoe (1.3.0-1) ... 458s Selecting previously unselected package python3-packaging. 458s Preparing to unpack .../31-python3-packaging_24.1-1_all.deb ... 458s Unpacking python3-packaging (24.1-1) ... 458s Selecting previously unselected package python3-ply. 458s Preparing to unpack .../32-python3-ply_3.11-7_all.deb ... 458s Unpacking python3-ply (3.11-7) ... 458s Selecting previously unselected package python3-phply. 458s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 458s Unpacking python3-phply (1.2.6-1) ... 458s Selecting previously unselected package python3-pluggy. 458s Preparing to unpack .../34-python3-pluggy_1.5.0-1_all.deb ... 458s Unpacking python3-pluggy (1.5.0-1) ... 458s Selecting previously unselected package python3-pytest. 458s Preparing to unpack .../35-python3-pytest_8.3.2-1_all.deb ... 458s Unpacking python3-pytest (8.3.2-1) ... 458s Selecting previously unselected package python3-ruamel.yaml.clib:s390x. 458s Preparing to unpack .../36-python3-ruamel.yaml.clib_0.2.8+ds-2_s390x.deb ... 458s Unpacking python3-ruamel.yaml.clib:s390x (0.2.8+ds-2) ... 458s Selecting previously unselected package python3-ruamel.yaml. 458s Preparing to unpack .../37-python3-ruamel.yaml_0.18.6+ds-3_all.deb ... 458s Unpacking python3-ruamel.yaml (0.18.6+ds-3) ... 458s Selecting previously unselected package python3-simplejson. 458s Preparing to unpack .../38-python3-simplejson_3.19.2-1build2_s390x.deb ... 458s Unpacking python3-simplejson (3.19.2-1build2) ... 458s Selecting previously unselected package python3-syrupy. 458s Preparing to unpack .../39-python3-syrupy_4.6.1-1_all.deb ... 458s Unpacking python3-syrupy (4.6.1-1) ... 458s Selecting previously unselected package python3-wcwidth. 458s Preparing to unpack .../40-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 458s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 458s Selecting previously unselected package python3-translate. 458s Preparing to unpack .../41-python3-translate_3.13.2-2_all.deb ... 458s Unpacking python3-translate (3.13.2-2) ... 458s Selecting previously unselected package python3-vobject. 458s Preparing to unpack .../42-python3-vobject_0.9.6.1-2_all.deb ... 458s Unpacking python3-vobject (0.9.6.1-2) ... 458s Selecting previously unselected package python3-xapian. 458s Preparing to unpack .../43-python3-xapian_1.4.25-1build3_s390x.deb ... 458s Unpacking python3-xapian (1.4.25-1build3) ... 458s Selecting previously unselected package subversion. 458s Preparing to unpack .../44-subversion_1.14.4-2_s390x.deb ... 458s Unpacking subversion (1.14.4-2) ... 458s Selecting previously unselected package translate-toolkit. 458s Preparing to unpack .../45-translate-toolkit_3.13.2-2_all.deb ... 458s Unpacking translate-toolkit (3.13.2-2) ... 458s Selecting previously unselected package python3-iniparse. 458s Preparing to unpack .../46-python3-iniparse_0.5-2_all.deb ... 458s Unpacking python3-iniparse (0.5-2) ... 458s Selecting previously unselected package python3-pycountry. 458s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 458s Unpacking python3-pycountry (24.6.1+ds1-1) ... 458s Selecting previously unselected package autopkgtest-satdep. 458s Preparing to unpack .../48-3-autopkgtest-satdep.deb ... 458s Unpacking autopkgtest-satdep (0) ... 458s Setting up python3-iniconfig (1.1.1-2) ... 459s Setting up libxapian30:s390x (1.4.25-1) ... 459s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 459s Setting up python3-diff-match-patch (20230430-1) ... 459s Setting up python3-aeidon (1.15-1) ... 459s Setting up libutf8proc3:s390x (2.9.0-1build1) ... 459s Setting up libaspell15:s390x (0.60.8.1-1build1) ... 459s Setting up python3-charset-normalizer (3.3.2-2) ... 459s Setting up python3-ply (3.11-7) ... 459s Setting up python3-ruamel.yaml.clib:s390x (0.2.8+ds-2) ... 459s Setting up python3-all (3.12.6-0ubuntu1) ... 459s Setting up libgomp1:s390x (14.2.0-7ubuntu1) ... 459s Setting up python3-six (1.16.0-7) ... 459s Setting up python3-simplejson (3.19.2-1build2) ... 459s Setting up python3-packaging (24.1-1) ... 459s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 460s Setting up emacsen-common (3.0.5) ... 460s Setting up python3-cheroot (10.0.0+ds1-2) ... 460s Setting up python3-pycountry (24.6.1+ds1-1) ... 460s Setting up python3-xapian (1.4.25-1build3) ... 460s Setting up python3-pluggy (1.5.0-1) ... 460s Setting up python3-ruamel.yaml (0.18.6+ds-3) ... 460s Setting up python3-mistletoe (1.3.0-1) ... 460s Setting up libexttextcat-data (3.4.7-1build1) ... 460s Setting up libapr1t64:s390x (1.7.2-3.2ubuntu1) ... 460s Setting up libxslt1.1:s390x (1.1.39-0exp1ubuntu1) ... 460s Setting up python3-dateutil (2.9.0-2) ... 460s Setting up python3-levenshtein (0.25.1-3) ... 461s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 461s Setting up python3-soupsieve (2.6-1) ... 461s Setting up python3-iniparse (0.5-2) ... 461s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu1) ... 461s Setting up python3-vobject (0.9.6.1-2) ... 461s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 461s patterns['name'] = '[a-zA-Z0-9\-_]+' 461s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 461s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 461s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 461s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 461s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 461s """ 461s Setting up gettext (0.22.5-2) ... 461s Setting up python3-phply (1.2.6-1) ... 461s Setting up dictionaries-common (1.29.7) ... 461s Setting up python3-pytest (8.3.2-1) ... 462s Setting up python3-syrupy (4.6.1-1) ... 462s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 462s Setting up python3-bs4 (4.12.3-3) ... 462s Setting up python3-lxml:s390x (5.3.0-1) ... 462s Setting up hunspell-en-us (1:2020.12.07-2) ... 462s Setting up libsvn1:s390x (1.14.4-2) ... 462s Setting up libenchant-2-2:s390x (2.3.3-2build2) ... 462s Setting up subversion (1.14.4-2) ... 462s Setting up python3-enchant (3.2.2-1) ... 462s Setting up python3-translate (3.13.2-2) ... 463s Setting up translate-toolkit (3.13.2-2) ... 463s Setting up autopkgtest-satdep (0) ... 463s Processing triggers for man-db (2.12.1-3) ... 463s Processing triggers for install-info (7.1.1-1) ... 463s Processing triggers for libc-bin (2.40-1ubuntu3) ... 463s Processing triggers for dictionaries-common (1.29.7) ... 466s (Reading database ... 59161 files and directories currently installed.) 466s Removing autopkgtest-satdep (0) ... 468s autopkgtest [10:07:13]: test python3-translate-commands: [----------------------- 468s ============================= test session starts ============================== 468s platform linux -- Python 3.12.7, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3.12 468s cachedir: .pytest_cache 468s rootdir: /tmp/autopkgtest.Ycs8t9/autopkgtest_tmp 468s plugins: typeguard-4.3.0, syrupy-4.6.1 473s collecting ... collected 3340 items / 2 skipped 473s 473s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 473s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 473s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 473s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 473s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 473s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 473s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 473s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 473s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 473s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 473s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 473s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 473s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 473s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 473s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 473s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 473s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 473s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 473s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 474s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 474s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 474s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 474s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 474s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 474s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 474s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 474s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 474s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 474s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 474s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 474s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 474s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 474s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 474s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 474s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 474s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 474s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 474s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 474s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 474s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 474s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 474s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 474s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 474s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 474s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 474s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 474s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 474s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 474s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 474s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 474s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 474s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 474s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 475s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 475s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 475s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 475s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 475s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 475s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 475s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 475s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 475s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 475s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 475s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 475s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 475s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 475s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 475s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 475s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 475s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 475s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 475s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 475s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 475s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 476s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 476s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 476s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 476s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 476s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 476s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 476s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 476s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 476s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 476s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 476s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 476s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 476s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 476s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 476s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 476s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 476s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 476s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 476s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 476s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 476s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 476s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 476s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 476s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 476s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 476s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 476s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 476s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 476s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 476s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 476s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 476s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 476s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 476s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 476s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 476s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 476s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 476s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 476s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 476s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 476s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 476s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 476s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 476s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 476s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 476s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 476s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 476s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 476s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 476s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 476s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 476s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 476s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 476s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 476s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 476s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 476s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 476s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 476s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 477s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 477s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 477s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 477s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 477s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 477s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 477s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 477s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 477s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 477s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 477s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 477s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 477s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 477s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 477s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 477s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 477s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 477s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 477s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 477s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 477s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 477s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 477s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 477s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 477s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 477s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 477s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 477s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 477s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 477s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 477s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 477s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 477s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 477s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 477s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 477s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 477s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 477s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 477s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 477s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 477s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 477s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 477s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 477s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 477s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 477s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 477s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 477s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 477s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 477s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 477s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 477s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 40%] 477s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 477s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 477s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 41%] 477s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 41%] 477s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 41%] 477s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 41%] 477s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 41%] 477s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 477s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 477s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 477s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 478s 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%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 478s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 478s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 478s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 478s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 478s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 478s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 478s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 478s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 69%] 478s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 478s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 478s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 478s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 479s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 479s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 479s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 479s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 479s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 479s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 479s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 479s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 479s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 479s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 479s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 479s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 479s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 479s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 479s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 479s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 479s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 480s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 480s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 480s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 480s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 84%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 480s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 85%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 480s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 480s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 480s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 480s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 480s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 480s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 480s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 86%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 480s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 480s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 480s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 480s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 480s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 480s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 480s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 480s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 480s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 480s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 480s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 481s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 481s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 92%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 481s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 481s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 481s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 481s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 481s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 481s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 481s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 481s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 482s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 482s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 482s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 482s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 482s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 482s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 482s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 482s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 482s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 482s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 482s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 482s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 482s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 482s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 482s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 482s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 482s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 482s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 482s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 482s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 482s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 482s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 482s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 482s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 482s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 482s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 483s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 483s 483s =============================== warnings summary =============================== 483s tests/translate/storage/test_cpo.py:15 483s Warning: 483s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 483s ImportError('gettext PO library not found') 483s In pytest 9.1 this warning will become an error by default. 483s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 483s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 483s 483s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 483s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Ycs8t9/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 483s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 483s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 483s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 483s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 483s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 483s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 483s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 483s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 483s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 483s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 483s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 483s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 483s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 483s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 483s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 483s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 483s Warning: Could not find accesskey for key.accesskey 483s 483s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 483s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 483s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 483s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 483s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 483s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Ycs8t9/autopkgtest_tmp/tests/translate/convert/test.idml'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 483s Warning: unclosed file <_io.BufferedReader name='translation.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 483s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 483s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 483s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 483s Warning: Could not find accesskey for prop.accesskey 483s 483s tests/translate/convert/test_po2tmx.py: 26 warnings 483s tests/translate/filters/test_pofilter.py: 13 warnings 483s tests/translate/storage/test_tbx.py: 17 warnings 483s tests/translate/storage/test_tmx.py: 24 warnings 483s 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' 483s 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 483s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 483s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 483s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 483s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 483s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 483s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 483s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 483s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 483s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 483s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 483s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Ycs8t9/autopkgtest_tmp/tests/translate/convert/test.odt'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 483s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 483s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 483s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 483s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 483s Enable tracemalloc to get traceback where the object was allocated. 483s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 483s 483s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 483s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 483s 483s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 483s Warning: DTD file '' does not validate 483s 483s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 483s --------------------------- snapshot report summary ---------------------------- 483s 23 snapshots passed. 483s =========================== short test summary info ============================ 483s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 483s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 483s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 483s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 483s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 483s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 483s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 483s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 483s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 483s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 483s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 483s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 483s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 483s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 483s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 483s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 483s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 483s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 483s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 483s 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. 483s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 483s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 483s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 483s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 483s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 483s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 483s 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 483s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 483s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 483s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 483s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 483s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 483s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 483s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 483s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 483s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 483s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 483s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 483s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 483s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 483s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 483s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 483s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 483s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 483s ========== 3298 passed, 3 skipped, 41 xfailed, 127 warnings in 14.89s ========== 483s autopkgtest [10:07:28]: test python3-translate-commands: -----------------------] 484s python3-translate-commands PASS 484s autopkgtest [10:07:29]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 484s autopkgtest [10:07:29]: @@@@@@@@@@@@@@@@@@@@ summary 484s translate-toolkit PASS 484s python3-translate PASS 484s python3-translate-commands PASS 497s nova [W] Using flock in prodstack6-s390x 497s flock: timeout while waiting to get lock 497s Creating nova instance adt-plucky-s390x-translate-toolkit-20241030-095925-juju-7f2275-prod-proposed-migration-environment-14-8cd502c5-5103-4b93-9d1e-4d603528971a from image adt/ubuntu-plucky-s390x-server-20241029.img (UUID f65adb75-f507-40e2-9b64-4d84ffb9df90)... 497s nova [W] Using flock in prodstack6-s390x 497s Creating nova instance adt-plucky-s390x-translate-toolkit-20241030-095925-juju-7f2275-prod-proposed-migration-environment-14-8cd502c5-5103-4b93-9d1e-4d603528971a from image adt/ubuntu-plucky-s390x-server-20241029.img (UUID f65adb75-f507-40e2-9b64-4d84ffb9df90)... 497s nova [W] Using flock in prodstack6-s390x 497s Creating nova instance adt-plucky-s390x-translate-toolkit-20241030-095925-juju-7f2275-prod-proposed-migration-environment-14-8cd502c5-5103-4b93-9d1e-4d603528971a from image adt/ubuntu-plucky-s390x-server-20241029.img (UUID f65adb75-f507-40e2-9b64-4d84ffb9df90)...