0s autopkgtest [02:41:47]: starting date and time: 2024-07-21 02:41:47+0000 0s autopkgtest [02:41:47]: git checkout: fd3bed09 nova: allow more retries for quota issues 0s autopkgtest [02:41:47]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.zvlo8u0h/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.4-1 python3-stdlib-extensions/3.12.4-2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@lcy02-86.secgroup --name adt-oracular-amd64-translate-toolkit-20240721-024147-juju-7f2275-prod-proposed-migration-environment-3-5d4d21f6-c904-4a15-ba33-e93eb9c94fdd --image adt/ubuntu-oracular-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 83s autopkgtest [02:43:10]: testbed dpkg architecture: amd64 83s autopkgtest [02:43:10]: testbed apt version: 2.9.6 83s autopkgtest [02:43:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup 121s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 121s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [4724 B] 121s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [62.2 kB] 121s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [410 kB] 121s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 121s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [121 kB] 121s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [87.3 kB] 121s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 c-n-f Metadata [2116 B] 121s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [34.9 kB] 121s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/restricted i386 Packages [6244 B] 121s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 c-n-f Metadata [368 B] 121s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [358 kB] 121s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [535 kB] 121s Get:14 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 c-n-f Metadata [9900 B] 121s Get:15 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [8896 B] 121s Get:16 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [3340 B] 121s Get:17 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 c-n-f Metadata [276 B] 122s Fetched 1780 kB in 0s (6539 kB/s) 122s Reading package lists... 218s Reading package lists... 218s Building dependency tree... 218s Reading state information... 219s Calculating upgrade... 219s The following packages will be upgraded: 219s libbpf1 libheif-plugin-aomdec libheif-plugin-aomenc libheif-plugin-libde265 219s libheif1 libpython3-stdlib python3 python3-gdbm python3-minimal 219s 9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 219s Need to get 560 kB of archives. 219s After this operation, 30.7 kB of additional disk space will be used. 219s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-minimal amd64 3.12.4-1 [27.1 kB] 219s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3 amd64 3.12.4-1 [24.0 kB] 219s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 libpython3-stdlib amd64 3.12.4-1 [9818 B] 219s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libbpf1 amd64 1:1.4.5-1 [172 kB] 219s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-gdbm amd64 3.12.4-2 [18.2 kB] 219s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif-plugin-aomdec amd64 1.17.6-4build1 [10.3 kB] 219s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif-plugin-aomenc amd64 1.17.6-4build1 [14.8 kB] 219s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif1 amd64 1.17.6-4build1 [276 kB] 219s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif-plugin-libde265 amd64 1.17.6-4build1 [8328 B] 219s Fetched 560 kB in 0s (21.1 MB/s) 219s (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 ... 74487 files and directories currently installed.) 219s Preparing to unpack .../python3-minimal_3.12.4-1_amd64.deb ... 219s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 219s Setting up python3-minimal (3.12.4-1) ... 219s (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 ... 74487 files and directories currently installed.) 219s Preparing to unpack .../0-python3_3.12.4-1_amd64.deb ... 220s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 220s Preparing to unpack .../1-libpython3-stdlib_3.12.4-1_amd64.deb ... 220s Unpacking libpython3-stdlib:amd64 (3.12.4-1) over (3.12.3-0ubuntu1) ... 220s Preparing to unpack .../2-libbpf1_1%3a1.4.5-1_amd64.deb ... 220s Unpacking libbpf1:amd64 (1:1.4.5-1) over (1:1.4.3-1) ... 220s Preparing to unpack .../3-python3-gdbm_3.12.4-2_amd64.deb ... 220s Unpacking python3-gdbm:amd64 (3.12.4-2) over (3.12.3-0ubuntu1) ... 220s Preparing to unpack .../4-libheif-plugin-aomdec_1.17.6-4build1_amd64.deb ... 220s Unpacking libheif-plugin-aomdec:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 220s Preparing to unpack .../5-libheif-plugin-aomenc_1.17.6-4build1_amd64.deb ... 220s Unpacking libheif-plugin-aomenc:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 220s Preparing to unpack .../6-libheif1_1.17.6-4build1_amd64.deb ... 220s Unpacking libheif1:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 220s Preparing to unpack .../7-libheif-plugin-libde265_1.17.6-4build1_amd64.deb ... 220s Unpacking libheif-plugin-libde265:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 220s Setting up libbpf1:amd64 (1:1.4.5-1) ... 220s Setting up libpython3-stdlib:amd64 (3.12.4-1) ... 220s Setting up python3 (3.12.4-1) ... 220s Setting up python3-gdbm:amd64 (3.12.4-2) ... 220s Setting up libheif-plugin-aomdec:amd64 (1.17.6-4build1) ... 220s Setting up libheif1:amd64 (1.17.6-4build1) ... 220s Setting up libheif-plugin-libde265:amd64 (1.17.6-4build1) ... 220s Setting up libheif-plugin-aomenc:amd64 (1.17.6-4build1) ... 220s Processing triggers for libc-bin (2.39-0ubuntu9) ... 220s Processing triggers for man-db (2.12.1-2) ... 221s Reading package lists... 221s Building dependency tree... 221s Reading state information... 221s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 224s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 224s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 224s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 224s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 226s Reading package lists... 226s Reading package lists... 226s Building dependency tree... 226s Reading state information... 226s Calculating upgrade... 226s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 226s Reading package lists... 227s Building dependency tree... 227s Reading state information... 227s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 339s autopkgtest [02:47:26]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 348s autopkgtest [02:47:35]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 365s Get:1 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (dsc) [3132 B] 365s Get:2 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (tar) [1173 kB] 365s Get:3 http://ftpmaster.internal/ubuntu oracular/universe translate-toolkit 3.13.2-1 (diff) [24.5 kB] 365s gpgv: Signature made Mon Jul 15 08:19:40 2024 UTC 365s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 365s gpgv: Can't check signature: No public key 365s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.13.2-1.dsc: no acceptable signature found 366s autopkgtest [02:47:52]: testing package translate-toolkit version 3.13.2-1 366s autopkgtest [02:47:53]: build not needed 375s autopkgtest [02:48:02]: test translate-toolkit: preparing testbed 389s Reading package lists... 389s Building dependency tree... 389s Reading state information... 389s Starting pkgProblemResolver with broken count: 0 389s Starting 2 pkgProblemResolver with broken count: 0 389s Done 390s The following additional packages will be installed: 390s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 390s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 390s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 390s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 390s python3-dateutil python3-diff-match-patch python3-enchant python3-iniparse 390s python3-jaraco.functools python3-levenshtein python3-lxml python3-mistletoe 390s python3-more-itertools python3-phply python3-ply python3-pycountry 390s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 390s python3-simplejson python3-soupsieve python3-translate python3-vobject 390s python3-wcwidth python3-xapian subversion translate-toolkit 390s Suggested packages: 390s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 390s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 390s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 390s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 390s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 390s subversion-tools 390s Recommended packages: 390s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 390s python3-cssselect python3-html5lib translate-toolkit-doc 390s The following NEW packages will be installed: 390s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 390s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 390s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 390s libxslt1.1 python3-aeidon python3-bs4 python3-charset-normalizer 390s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 390s python3-iniparse python3-jaraco.functools python3-levenshtein python3-lxml 390s python3-mistletoe python3-more-itertools python3-phply python3-ply 390s python3-pycountry python3-rapidfuzz python3-ruamel.yaml 390s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve 390s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 390s translate-toolkit 390s 0 upgraded, 44 newly installed, 0 to remove and 0 not upgraded. 390s Need to get 11.3 MB/11.3 MB of archives. 390s After this operation, 51.6 MB of additional disk space will be used. 390s Get:1 /tmp/autopkgtest.s2Kz5y/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [888 B] 390s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 emacsen-common all 3.0.5 [12.1 kB] 390s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 dictionaries-common all 1.29.7 [188 kB] 390s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14.1.0-4ubuntu2 [148 kB] 390s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.22.5-1 [944 kB] 390s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 390s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libapr1t64 amd64 1.7.2-3.2 [106 kB] 390s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libaprutil1t64 amd64 1.6.3-2ubuntu1 [92.1 kB] 390s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libaspell15 amd64 0.60.8.1-1build1 [323 kB] 390s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 390s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 libenchant-2-2 amd64 2.3.3-2build2 [51.4 kB] 390s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 libexttextcat-data all 3.4.7-1build1 [193 kB] 390s Get:13 http://ftpmaster.internal/ubuntu oracular/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 390s Get:14 http://ftpmaster.internal/ubuntu oracular/universe amd64 libutf8proc3 amd64 2.9.0-1build1 [70.6 kB] 390s Get:15 http://ftpmaster.internal/ubuntu oracular/universe amd64 libsvn1 amd64 1.14.3-2 [1344 kB] 390s Get:16 http://ftpmaster.internal/ubuntu oracular/universe amd64 libxapian30 amd64 1.4.22-1build1 [716 kB] 390s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libxslt1.1 amd64 1.1.39-0exp1build1 [167 kB] 390s Get:18 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-aeidon all 1.15-1 [231 kB] 390s Get:19 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-soupsieve all 2.5-1 [33.0 kB] 390s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-bs4 all 4.12.3-1 [109 kB] 390s Get:21 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 390s Get:22 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-more-itertools all 10.3.0-1 [54.9 kB] 390s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 390s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 390s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 390s Get:26 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] 390s Get:27 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-enchant all 3.2.2-1 [34.0 kB] 390s Get:28 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-rapidfuzz amd64 3.9.4+ds-1 [2028 kB] 390s Get:29 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-levenshtein amd64 0.25.1-3 [120 kB] 390s Get:30 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-lxml amd64 5.2.2-1 [1243 kB] 390s Get:31 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-mistletoe all 1.3.0-1 [38.0 kB] 390s Get:32 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-ply all 3.11-6 [46.5 kB] 390s Get:33 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 390s Get:34 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml.clib amd64 0.2.8-1build1 [132 kB] 390s Get:35 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 390s Get:36 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-simplejson amd64 3.19.2-1build2 [54.5 kB] 390s Get:37 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 390s Get:38 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-translate all 3.13.2-1 [319 kB] 390s Get:39 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-vobject all 0.9.6.1-2 [40.6 kB] 390s Get:40 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-xapian amd64 1.4.22-1build5 [373 kB] 390s Get:41 http://ftpmaster.internal/ubuntu oracular/universe amd64 subversion amd64 1.14.3-2 [908 kB] 390s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 translate-toolkit all 3.13.2-1 [81.0 kB] 390s Get:43 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniparse all 0.5-2 [20.0 kB] 390s Get:44 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 390s Preconfiguring packages ... 390s Fetched 11.3 MB in 0s (59.3 MB/s) 390s Selecting previously unselected package emacsen-common. 390s (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 ... 74490 files and directories currently installed.) 390s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 390s Unpacking emacsen-common (3.0.5) ... 391s Selecting previously unselected package dictionaries-common. 391s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 391s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 391s Unpacking dictionaries-common (1.29.7) ... 391s Selecting previously unselected package libgomp1:amd64. 391s Preparing to unpack .../02-libgomp1_14.1.0-4ubuntu2_amd64.deb ... 391s Unpacking libgomp1:amd64 (14.1.0-4ubuntu2) ... 391s Selecting previously unselected package gettext. 391s Preparing to unpack .../03-gettext_0.22.5-1_amd64.deb ... 391s Unpacking gettext (0.22.5-1) ... 391s Selecting previously unselected package hunspell-en-us. 391s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 391s Unpacking hunspell-en-us (1:2020.12.07-2) ... 391s Selecting previously unselected package libapr1t64:amd64. 391s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_amd64.deb ... 391s Unpacking libapr1t64:amd64 (1.7.2-3.2) ... 391s Selecting previously unselected package libaprutil1t64:amd64. 391s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_amd64.deb ... 391s Unpacking libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 391s Selecting previously unselected package libaspell15:amd64. 391s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_amd64.deb ... 391s Unpacking libaspell15:amd64 (0.60.8.1-1build1) ... 391s Selecting previously unselected package libhunspell-1.7-0:amd64. 391s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 391s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 391s Selecting previously unselected package libenchant-2-2:amd64. 391s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_amd64.deb ... 391s Unpacking libenchant-2-2:amd64 (2.3.3-2build2) ... 391s Selecting previously unselected package libexttextcat-data. 391s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 391s Unpacking libexttextcat-data (3.4.7-1build1) ... 391s Selecting previously unselected package libserf-1-1:amd64. 391s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 391s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 391s Selecting previously unselected package libutf8proc3:amd64. 391s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_amd64.deb ... 391s Unpacking libutf8proc3:amd64 (2.9.0-1build1) ... 391s Selecting previously unselected package libsvn1:amd64. 391s Preparing to unpack .../13-libsvn1_1.14.3-2_amd64.deb ... 391s Unpacking libsvn1:amd64 (1.14.3-2) ... 391s Selecting previously unselected package libxapian30:amd64. 391s Preparing to unpack .../14-libxapian30_1.4.22-1build1_amd64.deb ... 391s Unpacking libxapian30:amd64 (1.4.22-1build1) ... 391s Selecting previously unselected package libxslt1.1:amd64. 391s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_amd64.deb ... 391s Unpacking libxslt1.1:amd64 (1.1.39-0exp1build1) ... 391s Selecting previously unselected package python3-aeidon. 391s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 391s Unpacking python3-aeidon (1.15-1) ... 391s Selecting previously unselected package python3-soupsieve. 391s Preparing to unpack .../17-python3-soupsieve_2.5-1_all.deb ... 391s Unpacking python3-soupsieve (2.5-1) ... 391s Selecting previously unselected package python3-bs4. 391s Preparing to unpack .../18-python3-bs4_4.12.3-1_all.deb ... 391s Unpacking python3-bs4 (4.12.3-1) ... 391s Selecting previously unselected package python3-charset-normalizer. 391s Preparing to unpack .../19-python3-charset-normalizer_3.3.2-1_all.deb ... 391s Unpacking python3-charset-normalizer (3.3.2-1) ... 391s Selecting previously unselected package python3-more-itertools. 391s Preparing to unpack .../20-python3-more-itertools_10.3.0-1_all.deb ... 391s Unpacking python3-more-itertools (10.3.0-1) ... 391s Selecting previously unselected package python3-jaraco.functools. 391s Preparing to unpack .../21-python3-jaraco.functools_4.0.0-1_all.deb ... 391s Unpacking python3-jaraco.functools (4.0.0-1) ... 391s Selecting previously unselected package python3-cheroot. 391s Preparing to unpack .../22-python3-cheroot_10.0.0+ds1-2_all.deb ... 391s Unpacking python3-cheroot (10.0.0+ds1-2) ... 391s Selecting previously unselected package python3-dateutil. 391s Preparing to unpack .../23-python3-dateutil_2.9.0-2_all.deb ... 391s Unpacking python3-dateutil (2.9.0-2) ... 391s Selecting previously unselected package python3-diff-match-patch. 391s Preparing to unpack .../24-python3-diff-match-patch_20230430-1_all.deb ... 391s Unpacking python3-diff-match-patch (20230430-1) ... 391s Selecting previously unselected package python3-enchant. 391s Preparing to unpack .../25-python3-enchant_3.2.2-1_all.deb ... 391s Unpacking python3-enchant (3.2.2-1) ... 391s Selecting previously unselected package python3-rapidfuzz. 391s Preparing to unpack .../26-python3-rapidfuzz_3.9.4+ds-1_amd64.deb ... 391s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 392s Selecting previously unselected package python3-levenshtein. 392s Preparing to unpack .../27-python3-levenshtein_0.25.1-3_amd64.deb ... 392s Unpacking python3-levenshtein (0.25.1-3) ... 392s Selecting previously unselected package python3-lxml:amd64. 392s Preparing to unpack .../28-python3-lxml_5.2.2-1_amd64.deb ... 392s Unpacking python3-lxml:amd64 (5.2.2-1) ... 392s Selecting previously unselected package python3-mistletoe. 392s Preparing to unpack .../29-python3-mistletoe_1.3.0-1_all.deb ... 392s Unpacking python3-mistletoe (1.3.0-1) ... 392s Selecting previously unselected package python3-ply. 392s Preparing to unpack .../30-python3-ply_3.11-6_all.deb ... 392s Unpacking python3-ply (3.11-6) ... 392s Selecting previously unselected package python3-phply. 392s Preparing to unpack .../31-python3-phply_1.2.6-1_all.deb ... 392s Unpacking python3-phply (1.2.6-1) ... 392s Selecting previously unselected package python3-ruamel.yaml.clib:amd64. 392s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.8-1build1_amd64.deb ... 392s Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 392s Selecting previously unselected package python3-ruamel.yaml. 392s Preparing to unpack .../33-python3-ruamel.yaml_0.17.21-1_all.deb ... 392s Unpacking python3-ruamel.yaml (0.17.21-1) ... 392s Selecting previously unselected package python3-simplejson. 392s Preparing to unpack .../34-python3-simplejson_3.19.2-1build2_amd64.deb ... 392s Unpacking python3-simplejson (3.19.2-1build2) ... 392s Selecting previously unselected package python3-wcwidth. 392s Preparing to unpack .../35-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 392s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 392s Selecting previously unselected package python3-translate. 392s Preparing to unpack .../36-python3-translate_3.13.2-1_all.deb ... 392s Unpacking python3-translate (3.13.2-1) ... 392s Selecting previously unselected package python3-vobject. 392s Preparing to unpack .../37-python3-vobject_0.9.6.1-2_all.deb ... 392s Unpacking python3-vobject (0.9.6.1-2) ... 392s Selecting previously unselected package python3-xapian. 392s Preparing to unpack .../38-python3-xapian_1.4.22-1build5_amd64.deb ... 392s Unpacking python3-xapian (1.4.22-1build5) ... 392s Selecting previously unselected package subversion. 392s Preparing to unpack .../39-subversion_1.14.3-2_amd64.deb ... 392s Unpacking subversion (1.14.3-2) ... 392s Selecting previously unselected package translate-toolkit. 392s Preparing to unpack .../40-translate-toolkit_3.13.2-1_all.deb ... 392s Unpacking translate-toolkit (3.13.2-1) ... 392s Selecting previously unselected package python3-iniparse. 392s Preparing to unpack .../41-python3-iniparse_0.5-2_all.deb ... 392s Unpacking python3-iniparse (0.5-2) ... 392s Selecting previously unselected package python3-pycountry. 392s Preparing to unpack .../42-python3-pycountry_24.6.1+ds1-1_all.deb ... 392s Unpacking python3-pycountry (24.6.1+ds1-1) ... 392s Selecting previously unselected package autopkgtest-satdep. 392s Preparing to unpack .../43-1-autopkgtest-satdep.deb ... 392s Unpacking autopkgtest-satdep (0) ... 392s Setting up python3-more-itertools (10.3.0-1) ... 393s Setting up libxapian30:amd64 (1.4.22-1build1) ... 393s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 393s Setting up python3-diff-match-patch (20230430-1) ... 393s Setting up python3-jaraco.functools (4.0.0-1) ... 393s Setting up python3-aeidon (1.15-1) ... 393s Setting up libutf8proc3:amd64 (2.9.0-1build1) ... 393s Setting up libaspell15:amd64 (0.60.8.1-1build1) ... 393s Setting up python3-charset-normalizer (3.3.2-1) ... 393s Setting up python3-ply (3.11-6) ... 393s Setting up python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 393s Setting up libgomp1:amd64 (14.1.0-4ubuntu2) ... 393s Setting up python3-simplejson (3.19.2-1build2) ... 394s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 394s Setting up emacsen-common (3.0.5) ... 394s Setting up python3-cheroot (10.0.0+ds1-2) ... 394s Setting up python3-pycountry (24.6.1+ds1-1) ... 394s Setting up python3-xapian (1.4.22-1build5) ... 394s Setting up python3-ruamel.yaml (0.17.21-1) ... 394s Setting up python3-mistletoe (1.3.0-1) ... 395s Setting up libexttextcat-data (3.4.7-1build1) ... 395s Setting up libapr1t64:amd64 (1.7.2-3.2) ... 395s Setting up libxslt1.1:amd64 (1.1.39-0exp1build1) ... 395s Setting up python3-dateutil (2.9.0-2) ... 395s Setting up python3-levenshtein (0.25.1-3) ... 395s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 395s Setting up python3-soupsieve (2.5-1) ... 395s Setting up python3-iniparse (0.5-2) ... 395s Setting up libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 395s Setting up python3-vobject (0.9.6.1-2) ... 395s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 395s patterns['name'] = '[a-zA-Z0-9\-_]+' 395s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 395s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 395s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 395s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 395s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 395s """ 395s Setting up gettext (0.22.5-1) ... 395s Setting up python3-phply (1.2.6-1) ... 396s Setting up dictionaries-common (1.29.7) ... 396s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 396s Setting up python3-bs4 (4.12.3-1) ... 396s Setting up python3-lxml:amd64 (5.2.2-1) ... 396s Setting up hunspell-en-us (1:2020.12.07-2) ... 396s Setting up libsvn1:amd64 (1.14.3-2) ... 396s Setting up libenchant-2-2:amd64 (2.3.3-2build2) ... 396s Setting up subversion (1.14.3-2) ... 396s Setting up python3-enchant (3.2.2-1) ... 396s Setting up python3-translate (3.13.2-1) ... 397s Setting up translate-toolkit (3.13.2-1) ... 397s Setting up autopkgtest-satdep (0) ... 397s Processing triggers for man-db (2.12.1-2) ... 398s Processing triggers for install-info (7.1-3build2) ... 398s Processing triggers for libc-bin (2.39-0ubuntu9) ... 398s Processing triggers for dictionaries-common (1.29.7) ... 412s (Reading database ... 77965 files and directories currently installed.) 412s Removing autopkgtest-satdep (0) ... 424s autopkgtest [02:48:51]: test translate-toolkit: [----------------------- 441s ========= SMOKE TEST: /usr/bin/android2po =========== 441s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 441s 441s Convert Android string files to Gettext PO localization files. See: 441s http://docs.translatehouse.org/projects/translate- 441s toolkit/en/latest/commands/android2po.html for examples and usage 441s instructions. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in xml format 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in po, pot formats 441s -t TEMPLATE, --template=TEMPLATE 441s read from TEMPLATE in xml format 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s --duplicates=DUPLICATESTYLE 441s what to do with duplicate strings (identical source 441s text): merge, msgctxt (default: 'msgctxt') 441s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 441s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 441s input files [input files ...] 441s 441s positional arguments: 441s input files 441s 441s options: 441s -h, --help show this help message and exit 441s -d TMDB_FILE, --tmdb TMDB_FILE 441s translation memory database file (default: tm.db) 441s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 441s source language of translation files (default: en) 441s -t TARGET_LANG, --import-target-lang TARGET_LANG 441s target language of translation files 441s ========= SMOKE TEST: /usr/bin/csv2po =========== 441s 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] 441s 441s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 441s See: http://docs.translatehouse.org/projects/translate- 441s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in csv format 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in po, pot formats 441s -t TEMPLATE, --template=TEMPLATE 441s read from TEMPLATE in po, pot, pot formats 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s -P, --pot output PO Templates (.pot) rather than PO files (.po) 441s --charset=CHARSET set charset to decode from csv files 441s --columnorder=COLUMNORDER 441s specify the order and position of columns 441s (location,source,target,context) 441s --duplicates=DUPLICATESTYLE 441s what to do with duplicate strings (identical source 441s text): merge, msgctxt (default: 'msgctxt') 441s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 441s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 441s 441s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 441s glossary file. See: http://docs.translatehouse.org/projects/translate- 441s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in csv format 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in tbx format 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s --charset=CHARSET set charset to decode from csv files 441s --columnorder=COLUMNORDER 441s specify the order and position of columns 441s (comment,source,target) 441s ========= SMOKE TEST: /usr/bin/dtd2po =========== 441s 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] 441s 441s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 441s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 441s this module You can convert back to .dtd using po2dtd.py. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in dtd format 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in po, pot formats 441s -t TEMPLATE, --template=TEMPLATE 441s read from TEMPLATE in dtd format 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s -P, --pot output PO Templates (.pot) rather than PO files (.po) 441s --duplicates=DUPLICATESTYLE 441s what to do with duplicate strings (identical source 441s text): merge, msgctxt (default: 'msgctxt') 441s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 441s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 441s 441s Convert flat XML files to Gettext PO localization files. See: 441s http://docs.translatehouse.org/projects/translate- 441s toolkit/en/latest/commands/flatxml2po.html for examples and usage 441s instructions. 441s 441s Options: 441s --version show program's version number and exit 441s -h, --help show this help message and exit 441s --manpage output a manpage based on the help 441s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 441s --errorlevel=ERRORLEVEL 441s show errorlevel as: none, message, exception, 441s traceback 441s -i INPUT, --input=INPUT 441s read from INPUT in xml format 441s -x EXCLUDE, --exclude=EXCLUDE 441s exclude names matching EXCLUDE from input paths 441s -o OUTPUT, --output=OUTPUT 441s write to OUTPUT in po, pot formats 441s -S, --timestamp skip conversion if the output file has newer timestamp 441s -r ROOT, --root=ROOT name of the XML root element (default: "root") 441s -v VALUE, --value=VALUE 441s name of the XML value element (default: "str") 441s -k KEY, --key=KEY name of the XML key attribute (default: "key") 441s -n NS, --namespace=NS 441s XML namespace uri (default: None) 441s ========= SMOKE TEST: /usr/bin/html2po =========== 442s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 442s 442s Convert HTML files to Gettext PO localization files. See: 442s http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in htm, html, xhtml formats 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s -P, --pot output PO Templates (.pot) rather than PO files (.po) 442s --keepcomments preserve html comments as translation notes in the 442s output 442s --duplicates=DUPLICATESTYLE 442s what to do with duplicate strings (identical source 442s text): merge, msgctxt (default: 'msgctxt') 442s --multifile=MULTIFILESTYLE 442s how to split po/pot files (single, toplevel or 442s onefile) 442s ========= SMOKE TEST: /usr/bin/ical2po =========== 442s 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] 442s 442s Convert iCalendar files to Gettext PO localization files. See: 442s http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in ics format 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -t TEMPLATE, --template=TEMPLATE 442s read from TEMPLATE in ics format 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s -P, --pot output PO Templates (.pot) rather than PO files (.po) 442s --duplicates=DUPLICATESTYLE 442s what to do with duplicate strings (identical source 442s text): merge, msgctxt (default: 'msgctxt') 442s ========= SMOKE TEST: /usr/bin/idml2po =========== 442s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 442s 442s Convert IDML files to PO localization files. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in idml format 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s ========= SMOKE TEST: /usr/bin/ini2po =========== 442s 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] 442s 442s Convert .ini files to Gettext PO localization files. See: 442s http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in ini, isl, iss formats 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -t TEMPLATE, --template=TEMPLATE 442s read from TEMPLATE in ini, isl, iss formats 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s -P, --pot output PO Templates (.pot) rather than PO files (.po) 442s --duplicates=DUPLICATESTYLE 442s what to do with duplicate strings (identical source 442s text): merge, msgctxt (default: 'msgctxt') 442s ========= SMOKE TEST: /usr/bin/json2po =========== 442s 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] 442s 442s Convert JSON files to Gettext PO localization files. See: 442s http://docs.translatehouse.org/projects/translate- 442s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 442s 442s Options: 442s --version show program's version number and exit 442s -h, --help show this help message and exit 442s --manpage output a manpage based on the help 442s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 442s --errorlevel=ERRORLEVEL 442s show errorlevel as: none, message, exception, 442s traceback 442s -i INPUT, --input=INPUT 442s read from INPUT in json format 442s -x EXCLUDE, --exclude=EXCLUDE 442s exclude names matching EXCLUDE from input paths 442s -o OUTPUT, --output=OUTPUT 442s write to OUTPUT in po, pot formats 442s -t TEMPLATE, --template=TEMPLATE 442s read from TEMPLATE in json format 442s -S, --timestamp skip conversion if the output file has newer timestamp 442s -P, --pot output PO Templates (.pot) rather than PO files (.po) 442s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 442s everything) 442s --duplicates=DUPLICATESTYLE 442s what to do with duplicate strings (identical source 442s text): merge, msgctxt (default: 'msgctxt') 442s ========= SMOKE TEST: /usr/bin/md2po =========== 443s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 443s 443s Convert Markdown files to Gettext PO localization files. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in markdown, md, text, txt formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -P, --pot output PO Templates (.pot) rather than PO files (.po) 443s --duplicates=DUPLICATESTYLE 443s what to do with duplicate strings (identical source 443s text): merge, msgctxt (default: 'msgctxt') 443s --multifile=MULTIFILESTYLE 443s how to split po/pot files (single, toplevel or 443s onefile) 443s ========= SMOKE TEST: /usr/bin/moz2po =========== 443s 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] 443s 443s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 443s See: http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in *, dtd, inc, ini, it, js, lang, 443s manifest, properties, rdf formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 443s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 443s lang.pot, manifest, properties.po, properties.pot, rdf 443s formats 443s -t TEMPLATE, --template=TEMPLATE 443s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 443s manifest, properties, rdf formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -P, --pot output PO Templates (.pot) rather than PO files (.po) 443s --duplicates=DUPLICATESTYLE 443s what to do with duplicate strings (identical source 443s text): merge, msgctxt (default: 'msgctxt') 443s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 443s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 443s 443s Convert Mozilla .lang files to Gettext PO localization files. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in lang format 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in po, pot formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 443s -P, --pot output PO Templates (.pot) rather than PO files (.po) 443s --encoding=ENCODING The encoding of the input file (default: UTF-8) 443s --duplicates=DUPLICATESTYLE 443s what to do with duplicate strings (identical source 443s text): merge, msgctxt (default: 'msgctxt') 443s ========= SMOKE TEST: /usr/bin/msghack =========== 443s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 443s This program can be used to alter .po files in ways no sane mind would think about. 443s -o result will be written to FILE 443s --invert invert a po file by switching msgid and msgstr 443s --master join any number of files in a master-formatted catalog 443s --empty empty the contents of the .po file, creating a .pot 443s --append append entries from ref.po that don't exist in file.po 443s 443s Note: It is just a replacement of msghack for backward support. 443s 443s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 443s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 443s 443s Convert OpenDocument (ODF) files to XLIFF localization files. See: 443s http://docs.translatehouse.org/projects/translate- 443s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 443s 443s Options: 443s --version show program's version number and exit 443s -h, --help show this help message and exit 443s --manpage output a manpage based on the help 443s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 443s --errorlevel=ERRORLEVEL 443s show errorlevel as: none, message, exception, 443s traceback 443s -i INPUT, --input=INPUT 443s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 443s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 443s formats 443s -x EXCLUDE, --exclude=EXCLUDE 443s exclude names matching EXCLUDE from input paths 443s -o OUTPUT, --output=OUTPUT 443s write to OUTPUT in xlf, xliff formats 443s -S, --timestamp skip conversion if the output file has newer timestamp 444s ========= SMOKE TEST: /usr/bin/oo2po =========== 444s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 444s 444s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 444s files. See: http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in oo, sdf formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s -l LANG, --language=LANG 444s set target language to extract from oo file (e.g. af- 444s ZA) 444s --source-language=LANG 444s set source language code (default en-US) 444s --nonrecursiveinput don't treat the input oo as a recursive store 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 444s --multifile=MULTIFILESTYLE 444s how to split po/pot files (single, toplevel or 444s onefile) 444s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 444s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 444s 444s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 444s files. See: http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in oo, sdf formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in xlf, xliff formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -l LANG, --language=LANG 444s set target language to extract from oo file (e.g. af- 444s ZA) 444s --source-language=LANG 444s set source language code (default en-US) 444s --nonrecursiveinput don't treat the input oo as a recursive store 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 444s --multifile=MULTIFILESTYLE 444s how to split po/pot files (single, toplevel or 444s onefile) 444s ========= SMOKE TEST: /usr/bin/php2po =========== 444s 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] 444s 444s Convert PHP localization files to Gettext PO localization files. See: 444s http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in html, php formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -t TEMPLATE, --template=TEMPLATE 444s read from TEMPLATE in html, php formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s -P, --pot output PO Templates (.pot) rather than PO files (.po) 444s --duplicates=DUPLICATESTYLE 444s what to do with duplicate strings (identical source 444s text): merge, msgctxt (default: 'msgctxt') 444s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 444s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 444s 444s Convert PHP format .po files to Python format .po files. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in po, pot formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in po, pot formats 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s ========= SMOKE TEST: /usr/bin/po2csv =========== 444s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 444s 444s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 444s See: http://docs.translatehouse.org/projects/translate- 444s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in po, pot formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in csv format 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s --columnorder=COLUMNORDER 444s specify the order and position of columns 444s (location,source,target,context) 444s ========= SMOKE TEST: /usr/bin/po2dtd =========== 444s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 444s 444s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 444s Conversion is either done using a template plus PO file or just using the 444s .po file. 444s 444s Options: 444s --version show program's version number and exit 444s -h, --help show this help message and exit 444s --manpage output a manpage based on the help 444s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 444s --errorlevel=ERRORLEVEL 444s show errorlevel as: none, message, exception, 444s traceback 444s -i INPUT, --input=INPUT 444s read from INPUT in po, pot formats 444s -x EXCLUDE, --exclude=EXCLUDE 444s exclude names matching EXCLUDE from input paths 444s -o OUTPUT, --output=OUTPUT 444s write to OUTPUT in dtd format 444s -t TEMPLATE, --template=TEMPLATE 444s read from TEMPLATE in dtd format 444s -S, --timestamp skip conversion if the output file has newer timestamp 444s --threshold=PERCENT only convert files where the translation completion is 444s above PERCENT 444s --fuzzy use translations marked fuzzy 444s --nofuzzy don't use translations marked fuzzy (default) 444s --removeuntranslated remove untranslated strings from output 445s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 445s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Convert Gettext PO localization files to flat XML files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/flatxml2po.html for examples and usage 445s instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in xml format 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in xml format 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s -r ROOT, --root=ROOT name of the XML root element (default: "root") 445s -v VALUE, --value=VALUE 445s name of the XML value element (default: "str") 445s -k KEY, --key=KEY name of the XML key attribute (default: "key") 445s -n NS, --namespace=NS 445s XML namespace uri (default: None) 445s -w INDENT, --indent=INDENT 445s indent width in spaces, 0 for no indent (default: 2) 445s ========= SMOKE TEST: /usr/bin/po2html =========== 445s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Translate HTML files using Gettext PO localization files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in htm, html, xhtml formats 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in htm, html, xhtml formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s --threshold=PERCENT only convert files where the translation completion is 445s above PERCENT 445s --fuzzy use translations marked fuzzy 445s --nofuzzy don't use translations marked fuzzy (default) 445s ========= SMOKE TEST: /usr/bin/po2ical =========== 445s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Convert Gettext PO localization files to iCalendar files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in ics format 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in ics format 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s --threshold=PERCENT only convert files where the translation completion is 445s above PERCENT 445s --fuzzy use translations marked fuzzy 445s --nofuzzy don't use translations marked fuzzy (default) 445s ========= SMOKE TEST: /usr/bin/po2idml =========== 445s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Takes an IDML template file and a PO file containing translations of strings 445s in the IDML template. It creates a new IDML file using the translations of the 445s PO file. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in idml format 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in idml format 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s ========= SMOKE TEST: /usr/bin/po2ini =========== 445s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Convert Gettext PO localization files to .ini files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in ini, isl formats 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in ini, isl formats 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s --threshold=PERCENT only convert files where the translation completion is 445s above PERCENT 445s --fuzzy use translations marked fuzzy 445s --nofuzzy don't use translations marked fuzzy (default) 445s ========= SMOKE TEST: /usr/bin/po2json =========== 445s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 445s 445s Convert Gettext PO localization files to JSON files. See: 445s http://docs.translatehouse.org/projects/translate- 445s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 445s 445s Options: 445s --version show program's version number and exit 445s -h, --help show this help message and exit 445s --manpage output a manpage based on the help 445s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 445s --errorlevel=ERRORLEVEL 445s show errorlevel as: none, message, exception, 445s traceback 445s -i INPUT, --input=INPUT 445s read from INPUT in po, pot formats 445s -x EXCLUDE, --exclude=EXCLUDE 445s exclude names matching EXCLUDE from input paths 445s -o OUTPUT, --output=OUTPUT 445s write to OUTPUT in json format 445s -t TEMPLATE, --template=TEMPLATE 445s read from TEMPLATE in json format 445s -S, --timestamp skip conversion if the output file has newer timestamp 445s --threshold=PERCENT only convert files where the translation completion is 445s above PERCENT 445s --fuzzy use translations marked fuzzy 445s --nofuzzy don't use translations marked fuzzy (default) 445s --removeuntranslated remove untranslated strings from output 445s ========= SMOKE TEST: /usr/bin/po2md =========== 446s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Translate Markdown files using Gettext PO localization files. See: 446s http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in markdown, md, text, txt formats 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in markdown, md, text, txt formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s -m MAXLENGTH, --maxlinelength=MAXLENGTH 446s reflow (word wrap) the output to the given maximum 446s line length. set to 0 to disable 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s ========= SMOKE TEST: /usr/bin/po2moz =========== 446s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 446s See: http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in *, dtd.po, dtd.pot, inc.po, 446s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 446s lang.pot, manifest, properties.po, properties.pot, rdf 446s formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 446s manifest, properties, rdf formats 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 446s manifest, properties, rdf formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s -l LOCALE, --locale=LOCALE 446s set output locale (required as this sets the directory 446s names) 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s --removeuntranslated remove untranslated strings from output 446s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 446s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to Mozilla .lang files. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in lang format 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in lang format 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s --mark-active mark the file as active 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s ========= SMOKE TEST: /usr/bin/po2oo =========== 446s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 446s 446s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 446s file. See: http://docs.translatehouse.org/projects/translate- 446s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 446s 446s Options: 446s --version show program's version number and exit 446s -h, --help show this help message and exit 446s --manpage output a manpage based on the help 446s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 446s --errorlevel=ERRORLEVEL 446s show errorlevel as: none, message, exception, 446s traceback 446s -i INPUT, --input=INPUT 446s read from INPUT in po, pot, xlf, xliff formats 446s -x EXCLUDE, --exclude=EXCLUDE 446s exclude names matching EXCLUDE from input paths 446s -o OUTPUT, --output=OUTPUT 446s write to OUTPUT in oo, sdf formats 446s -t TEMPLATE, --template=TEMPLATE 446s read from TEMPLATE in oo, sdf formats 446s -S, --timestamp skip conversion if the output file has newer timestamp 446s -l LANG, --language=LANG 446s set target language code (e.g. af-ZA) [required] 446s --source-language=LANG 446s set source language code (default en-US) 446s -T, --keeptimestamp don't change the timestamps of the strings 446s --nonrecursiveoutput don't treat the output oo as a recursive store 446s --nonrecursivetemplate 446s don't treat the template oo as a recursive store 446s --skipsource don't output the source language, but fallback to it 446s where needed 446s --filteraction=ACTION 446s action on pofilter failure: none (default), warn, 446s exclude-serious, exclude-all 446s --threshold=PERCENT only convert files where the translation completion is 446s above PERCENT 446s --fuzzy use translations marked fuzzy 446s --nofuzzy don't use translations marked fuzzy (default) 446s --multifile=MULTIFILESTYLE 446s how to split po/pot files (single, toplevel or 446s onefile) 447s ========= SMOKE TEST: /usr/bin/po2php =========== 447s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to PHP localization files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in html, php formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in html, php formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s ========= SMOKE TEST: /usr/bin/po2prop =========== 447s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to Java/Mozilla .properties files. 447s See: http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in lang, properties, strings formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in lang, properties, strings 447s formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --personality=TYPE override the input file format: java, java-utf8, java- 447s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 447s strings, strings-utf8, joomla (for .properties files, 447s default: java) 447s --encoding=ENCODING override the encoding set by the personality 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s --removeuntranslated remove untranslated strings from output 447s ========= SMOKE TEST: /usr/bin/po2rc =========== 447s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files back to Windows Resource (.rc) files. 447s See: http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in rc format 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in rc format 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --charset=CHARSET charset to use to decode the RC files (default: utf-8) 447s -l LANG, --lang=LANG LANG entry 447s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s ========= SMOKE TEST: /usr/bin/po2resx =========== 447s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in resx format 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in resx format 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s ========= SMOKE TEST: /usr/bin/po2sub =========== 447s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to subtitle files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in ass, srt, ssa, sub formats 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in ass, srt, ssa, sub formats 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --threshold=PERCENT only convert files where the translation completion is 447s above PERCENT 447s --fuzzy use translations marked fuzzy 447s --nofuzzy don't use translations marked fuzzy (default) 447s ========= SMOKE TEST: /usr/bin/po2symb =========== 447s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 447s 447s Convert Gettext PO localization files to Symbian translation files. See: 447s http://docs.translatehouse.org/projects/translate- 447s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 447s 447s Options: 447s --version show program's version number and exit 447s -h, --help show this help message and exit 447s --manpage output a manpage based on the help 447s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 447s --errorlevel=ERRORLEVEL 447s show errorlevel as: none, message, exception, 447s traceback 447s -i INPUT, --input=INPUT 447s read from INPUT in po, pot formats 447s -x EXCLUDE, --exclude=EXCLUDE 447s exclude names matching EXCLUDE from input paths 447s -o OUTPUT, --output=OUTPUT 447s write to OUTPUT in r0 format 447s -t TEMPLATE, --template=TEMPLATE 447s read from TEMPLATE in 447s -S, --timestamp skip conversion if the output file has newer timestamp 447s --duplicates=DUPLICATESTYLE 447s what to do with duplicate strings (identical source 447s text): merge, msgctxt (default: 'msgctxt') 447s ========= SMOKE TEST: /usr/bin/po2tiki =========== 448s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 448s 448s Convert Gettext PO files to TikiWiki's language.php files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in tiki format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s ========= SMOKE TEST: /usr/bin/po2tmx =========== 448s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 448s 448s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 448s file. See: http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in tmx format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s -l LANG, --language=LANG 448s set target language code (e.g. af-ZA) [required] 448s --source-language=LANG 448s set source language code (default: en) 448s --comments=COMMENT set default comment import: none, source, type or 448s others (default: none) 448s ========= SMOKE TEST: /usr/bin/po2ts =========== 448s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in ts format 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in ts format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s -c CONTEXT, --context=CONTEXT 448s use supplied context instead of the one in the .po 448s file comment 448s ========= SMOKE TEST: /usr/bin/po2txt =========== 448s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to plain text (.txt) files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot, xlf, xliff formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in txt format 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in txt format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --encoding=ENCODING The encoding of the template file (default: UTF-8) 448s -w WRAP, --wrap=WRAP set number of columns to wrap text at 448s --threshold=PERCENT only convert files where the translation completion is 448s above PERCENT 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s ========= SMOKE TEST: /usr/bin/po2web2py =========== 448s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 448s 448s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in py format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s --threshold=PERCENT only convert files where the translation completion is 448s above PERCENT 448s --fuzzy use translations marked fuzzy 448s --nofuzzy don't use translations marked fuzzy (default) 448s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 448s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 448s 448s Convert Gettext PO localization files to a Wordfast translation memory file. 448s See: http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/po2wordfast.html for examples and usage 448s instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in txt format 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s -l LANG, --language=LANG 448s set target language code (e.g. af-ZA) [required] 448s --source-language=LANG 448s set source language code (default: en) 448s ========= SMOKE TEST: /usr/bin/po2xliff =========== 448s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 448s 448s Convert Gettext PO localization files to XLIFF localization files. See: 448s http://docs.translatehouse.org/projects/translate- 448s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 448s 448s Options: 448s --version show program's version number and exit 448s -h, --help show this help message and exit 448s --manpage output a manpage based on the help 448s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 448s --errorlevel=ERRORLEVEL 448s show errorlevel as: none, message, exception, 448s traceback 448s -i INPUT, --input=INPUT 448s read from INPUT in po, pot formats 448s -x EXCLUDE, --exclude=EXCLUDE 448s exclude names matching EXCLUDE from input paths 448s -o OUTPUT, --output=OUTPUT 448s write to OUTPUT in xlf, xliff formats 448s -t TEMPLATE, --template=TEMPLATE 448s read from TEMPLATE in xlf, xliff formats 448s -S, --timestamp skip conversion if the output file has newer timestamp 448s ========= SMOKE TEST: /usr/bin/po2yaml =========== 449s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 449s 449s Convert Gettext PO localization files to YAML files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in yaml, yml formats 449s -t TEMPLATE, --template=TEMPLATE 449s read from TEMPLATE in yaml, yml formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s --threshold=PERCENT only convert files where the translation completion is 449s above PERCENT 449s --fuzzy use translations marked fuzzy 449s --nofuzzy don't use translations marked fuzzy (default) 449s ========= SMOKE TEST: /usr/bin/poclean =========== 449s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 449s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 449s produces the target file with only the target text in from a text version of 449s the RTF. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot, xlf, xliff formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in po, pot, xlf, xliff formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s ========= SMOKE TEST: /usr/bin/pocompendium =========== 449s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 449s The first parameter is the output file, standard output if the output file is '-'. 449s Any number of directories may be specified for input files. 449s Options: 449s --invert|v Creates an inverse compendium with msgid and msgstr swapped 449s --errors|e Only ouput msg bundles that have errors 449s --correct|c Only ouput msg bundles that are correctly translated 449s --ignore-case|i Drops all strings to lowercase 449s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 449s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 449s --strip-accel-under|-su Strip all underscore (_) accelerator characters 449s ========= SMOKE TEST: /usr/bin/pocompile =========== 449s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 449s Object) files. See: http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot, xlf, xliff formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in mo format 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s --fuzzy use translations marked fuzzy 449s --nofuzzy don't use translations marked fuzzy (default) 449s ========= SMOKE TEST: /usr/bin/poconflicts =========== 449s 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] 449s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 449s 449s Conflict finder for Gettext PO localization files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/poconflicts.html for examples and usage 449s instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po format 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in po format 449s -I, --ignore-case ignore case distinctions 449s -v, --invert invert the conflicts thus extracting conflicting 449s destination words 449s --accelerator=ACCELERATORS 449s ignores the given accelerator characters when matching 449s ========= SMOKE TEST: /usr/bin/pocount =========== 449s usage: pocount [-h] [--incomplete] 449s [--full | --csv | --short | --short-strings | --short-words] 449s [--no-color] 449s files [files ...] 449s 449s positional arguments: 449s files 449s 449s options: 449s -h, --help show this help message and exit 449s --incomplete skip 100% translated files. 449s 449s Output format: 449s --full (default) statistics in full, verbose format 449s --csv statistics in CSV format 449s --short same as --short-strings 449s --short-strings statistics of strings in short format - one line per file 449s --short-words statistics of words in short format - one line per file 449s --no-color show output without color 449s ========= SMOKE TEST: /usr/bin/podebug =========== 449s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 449s 449s Insert debug messages into XLIFF and Gettext PO localization files. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot, pot, tmx, xlf, xliff 449s formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in po, pot, tmx, xlf, xliff formats 449s -S, --timestamp skip conversion if the output file has newer timestamp 449s -f FORMAT, --format=FORMAT 449s specify format string 449s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 449s classified, en, flipped, unicode, xxx 449s --ignore=APPLICATION apply tagging ignore rules for the given application: 449s gtk, kde, libreoffice, mozilla, openoffice 449s --preserveplaceholders 449s attempt to exclude characters that are part of 449s placeholders when performing character-level rewrites 449s so that consuming applications can still use the 449s placeholders to generate final output 449s ========= SMOKE TEST: /usr/bin/pofilter =========== 449s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 449s 449s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 449s Snippet files are created whenever a test fails. These can be examined, 449s corrected and merged back into the originals using pomerge. See: 449s http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 449s and http://docs.translatehouse.org/projects/translate- 449s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 449s tests. 449s 449s Options: 449s --version show program's version number and exit 449s -h, --help show this help message and exit 449s --manpage output a manpage based on the help 449s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 449s --errorlevel=ERRORLEVEL 449s show errorlevel as: none, message, exception, 449s traceback 449s -i INPUT, --input=INPUT 449s read from INPUT in po, pot, tmx, xlf, xliff formats 449s -x EXCLUDE, --exclude=EXCLUDE 449s exclude names matching EXCLUDE from input paths 449s -o OUTPUT, --output=OUTPUT 449s write to OUTPUT in po, pot, tmx, xlf, xliff formats 449s -l, --listfilters list filters available 449s --review include units marked for review (default) 449s --noreview exclude units marked for review 449s --fuzzy include units marked fuzzy (default) 449s --nofuzzy exclude units marked fuzzy 449s --nonotes don't add notes about the errors 449s --autocorrect output automatic corrections where possible rather 449s than describing issues 449s --language=LANG set target language code (e.g. af-ZA) [required for 449s spell check and recommended in general] 449s --openoffice use the standard checks for OpenOffice translations 449s --libreoffice use the standard checks for LibreOffice translations 449s --mozilla use the standard checks for Mozilla translations 449s --drupal use the standard checks for Drupal translations 449s --gnome use the standard checks for Gnome translations 449s --kde use the standard checks for KDE translations 449s --wx use the standard checks for wxWidgets translations 449s --excludefilter=FILTER 449s don't use FILTER when filtering 449s -t FILTER, --test=FILTER 449s only use test FILTERs specified with this option when 449s filtering 449s --notranslatefile=FILE 449s read list of untranslatable words from FILE (must not 449s be translated) 449s --musttranslatefile=FILE 449s read list of translatable words from FILE (must be 449s translated) 449s --validcharsfile=FILE 449s read list of all valid characters from FILE (must be 449s in UTF-8) 449s ========= SMOKE TEST: /usr/bin/pogrep =========== 450s 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] 450s 450s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 450s snippet files of the same type which can then be reviewed and later merged 450s using :doc:`pomerge `. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 450s xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 450s xliff formats 450s --search=SEARCHPARTS searches the given parts (source, target, notes and 450s locations) 450s -I, --ignore-case ignore case distinctions 450s -e, --regexp use regular expression matching 450s -v, --invert-match select non-matching lines 450s --accelerator=ACCELERATOR 450s ignores the given accelerator when matching 450s -k, --keep-translations 450s always extract units with translations 450s ========= SMOKE TEST: /usr/bin/pomerge =========== 450s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 450s 450s Merges XLIFF and Gettext PO localization files. Snippet file produced by 450s e.g. :doc:`pogrep ` and updated by a translator can be 450s merged back into the original files. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, pot, xlf, xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot, pot, xlf, xliff formats 450s -t TEMPLATE, --template=TEMPLATE 450s read from TEMPLATE in po, pot, pot, xlf, xliff formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s --mergeblanks=MERGEBLANKS 450s whether to overwrite existing translations with blank 450s translations (yes/no). Default is yes. 450s --mergefuzzy=MERGEFUZZY 450s whether to consider fuzzy translations from input 450s (yes/no). Default is yes. 450s --mergecomments=MERGECOMMENTS 450s whether to merge comments as well as translations 450s (yes/no). Default is yes. 450s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 450s Usage pomigrate2 [options] 450s 450s Options: 450s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 450s -C|--use-compendium - create and use a compendium built from the migrating files 450s -C|--use-compendium=some-compendium.po 450s - use an external compendium during the migration 450s --no-wrap - do not wrap long lines 450s --locale=lang - set locale for newly born files 450s -q|--quiet - suppress most output 450s -p|--pot2po - use pot2po instead of msgmerge to migrate 450s ========= SMOKE TEST: /usr/bin/popuretext =========== 450s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 450s ========= SMOKE TEST: /usr/bin/poreencode =========== 450s Usage: poreencode 450s eg: poreencode UTF-8 af/ 450s ========= SMOKE TEST: /usr/bin/porestructure =========== 450s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 450s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 450s 450s Restructure Gettxt PO files produced by :doc:`poconflicts 450s ` into the original directory tree for merging using 450s :doc:`pomerge `. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po format 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po format 450s ========= SMOKE TEST: /usr/bin/posegment =========== 450s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 450s 450s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 450s See: http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, tmx, xlf, xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot, tmx, xlf, xliff formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s -P, --pot output PO Templates (.pot) rather than PO files (.po) 450s -l LANG, --language=LANG 450s the target language code 450s --source-language=LANG 450s the source language code (default 'en') 450s --keepspaces Disable automatic stripping of whitespace 450s --only-aligned Removes units where sentence number does not 450s correspond 450s ========= SMOKE TEST: /usr/bin/poswap =========== 450s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 450s 450s Builds a new translation file with the target of the input language as source 450s language. .. note:: Ensure that the two po files correspond 100% to the same 450s pot file before using this. To translate Kurdish (ku) through French:: 450s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 450s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot formats 450s -t TEMPLATE, --template=TEMPLATE 450s read from TEMPLATE in po, pot, pot formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s --reverse reverse the process of intermediate language 450s conversion 450s ========= SMOKE TEST: /usr/bin/pot2po =========== 450s 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] 450s 450s Convert template files (like .pot or template .xlf files) to translation 450s files, preserving existing translations. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 450s formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 450s xliff formats 450s -t TEMPLATE, --template=TEMPLATE 450s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 450s xliff formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s -P, --pot output PO Templates (.pot) rather than PO files (.po) 450s --tm=TM The file to use as translation memory when fuzzy 450s matching 450s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 450s The minimum similarity for inclusion (default: 75%) 450s --nofuzzymatching Disable fuzzy matching 450s ========= SMOKE TEST: /usr/bin/poterminology =========== 450s 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] 450s input directory is searched for PO files, terminology PO file is output file 450s 450s Create a terminology file by reading a set of .po or .pot files to produce a 450s pootle-terminology.pot. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/poterminology.html for examples and usage 450s instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot formats 450s -u UPDATEFILE, --update=UPDATEFILE 450s update terminology in UPDATEFILE 450s -S STOPFILE, --stopword-list=STOPFILE 450s read stopword (term exclusion) list from STOPFILE 450s (default /usr/share/pyshared/translate/share/stoplist- 450s en) 450s -F, --fold-titlecase fold "Title Case" to lowercase (default) 450s -C, --preserve-case preserve all uppercase/lowercase 450s -I, --ignore-case make all terms lowercase 450s --accelerator=ACCELERATORS 450s ignore the given accelerator characters when matching 450s -t LENGTH, --term-words=LENGTH 450s generate terms of up to LENGTH words (default 3) 450s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 450s 1) 450s --inputs-needed=MIN omit terms appearing in less than MIN input files 450s (default 2, or 1 if only one input file) 450s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 450s different messages (default 1) 450s --substr-needed=MIN omit substring-only terms appearing in less than MIN 450s different messages (default 2) 450s --locs-needed=MIN omit terms appearing in less than MIN different 450s original source files (default 2) 450s --sort=ORDER output sort order(s): frequency, dictionary, length 450s (may repeat option, default is all in above order) 450s --source-language=LANG 450s the source language code (default 'en') 450s -v, --invert invert the source and target languages for terminology 450s ========= SMOKE TEST: /usr/bin/pretranslate =========== 450s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 450s 450s Fill localization files with suggested translations based on translation 450s memory and existing translations. See: 450s http://docs.translatehouse.org/projects/translate- 450s toolkit/en/latest/commands/pretranslate.html for examples and usage 450s instructions. 450s 450s Options: 450s --version show program's version number and exit 450s -h, --help show this help message and exit 450s --manpage output a manpage based on the help 450s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 450s --errorlevel=ERRORLEVEL 450s show errorlevel as: none, message, exception, 450s traceback 450s -i INPUT, --input=INPUT 450s read from INPUT in po, pot, pot, xlf, xliff formats 450s -x EXCLUDE, --exclude=EXCLUDE 450s exclude names matching EXCLUDE from input paths 450s -o OUTPUT, --output=OUTPUT 450s write to OUTPUT in po, pot, xlf, xliff formats 450s -t TEMPLATE, --template=TEMPLATE 450s read from TEMPLATE in po, pot, xlf, xliff formats 450s -S, --timestamp skip conversion if the output file has newer timestamp 450s --tm=TM The file to use as translation memory when fuzzy 450s matching 450s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 450s The minimum similarity for inclusion (default: 75%) 450s --nofuzzymatching Disable fuzzy matching 451s ========= SMOKE TEST: /usr/bin/prop2po =========== 451s 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] 451s 451s Convert Java/Mozilla .properties files to Gettext PO localization files. 451s See: http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in lang, properties, strings formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in lang, properties, strings 451s formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s --personality=TYPE override the input file format: java, java-utf8, java- 451s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 451s strings, strings-utf8, joomla (for .properties files, 451s default: java) 451s --encoding=ENCODING override the encoding set by the personality 451s --duplicates=DUPLICATESTYLE 451s what to do with duplicate strings (identical source 451s text): merge, msgctxt (default: 'msgctxt') 451s ========= SMOKE TEST: /usr/bin/pydiff =========== 451s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 451s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 451s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 451s fromfile tofile 451s 451s positional arguments: 451s fromfile 451s tofile 451s 451s options: 451s -h, --help show this help message and exit 451s -i, --ignore-case Ignore case differences in file contents. 451s -U NUM, --unified NUM 451s Output NUM (default 3) lines of unified context 451s -r, --recursive Recursively compare any subdirectories found. 451s -N, --new-file Treat absent files as empty. 451s --unidirectional-new-file 451s Treat absent first files as empty. 451s -s, --report-identical-files 451s Report when two files are the same. 451s -x PAT, --exclude PAT 451s Exclude files that match PAT. 451s --fromcontains TEXT Only show changes where fromfile contains TEXT 451s --tocontains TEXT Only show changes where tofile contains TEXT 451s --contains TEXT Only show changes where fromfile or tofile contains 451s TEXT 451s -I, --ignore-case-contains 451s Ignore case differences when matching any of the 451s changes 451s --accelerator ACCELERATORS 451s ignores the given accelerator characters when matching 451s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 451s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 451s 451s Convert Python format .po files to PHP format .po files. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in po, pot formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s ========= SMOKE TEST: /usr/bin/rc2po =========== 451s 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] 451s 451s Convert Windows RC files to Gettext PO localization files. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in nls, rc formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in nls, rc formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s --charset=CHARSET charset to use to decode the RC files (autodetection 451s is used by default) 451s -l LANG, --lang=LANG LANG entry (default: None) 451s --sublang=SUBLANG SUBLANG entry (default: None) 451s --duplicates=DUPLICATESTYLE 451s what to do with duplicate strings (identical source 451s text): merge, msgctxt (default: 'msgctxt') 451s ========= SMOKE TEST: /usr/bin/resx2po =========== 451s 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] 451s 451s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in resx format 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in resx format 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 451s everything) 451s --duplicates=DUPLICATESTYLE 451s what to do with duplicate strings (identical source 451s text): merge, msgctxt (default: 'msgctxt') 451s ========= SMOKE TEST: /usr/bin/sub2po =========== 451s 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] 451s 451s Convert subtitle files to Gettext PO localization files. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in ass, srt, ssa, sub formats 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in ass, srt, ssa, sub formats 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s --duplicates=DUPLICATESTYLE 451s what to do with duplicate strings (identical source 451s text): merge, msgctxt (default: 'msgctxt') 451s ========= SMOKE TEST: /usr/bin/symb2po =========== 451s 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] 451s 451s Convert Symbian localisation files to Gettext PO localization files. See: 451s http://docs.translatehouse.org/projects/translate- 451s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 451s 451s Options: 451s --version show program's version number and exit 451s -h, --help show this help message and exit 451s --manpage output a manpage based on the help 451s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 451s --errorlevel=ERRORLEVEL 451s show errorlevel as: none, message, exception, 451s traceback 451s -i INPUT, --input=INPUT 451s read from INPUT in r01 format 451s -x EXCLUDE, --exclude=EXCLUDE 451s exclude names matching EXCLUDE from input paths 451s -o OUTPUT, --output=OUTPUT 451s write to OUTPUT in po, pot formats 451s -t TEMPLATE, --template=TEMPLATE 451s read from TEMPLATE in 451s -S, --timestamp skip conversion if the output file has newer timestamp 451s -P, --pot output PO Templates (.pot) rather than PO files (.po) 451s --duplicates=DUPLICATESTYLE 451s what to do with duplicate strings (identical source 451s text): merge, msgctxt (default: 'msgctxt') 452s ========= SMOKE TEST: /usr/bin/tbx2po =========== 452s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 452s 452s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 452s http://docs.translatehouse.org/projects/translate- 452s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 452s 452s Options: 452s --version show program's version number and exit 452s -h, --help show this help message and exit 452s --manpage output a manpage based on the help 452s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 452s --errorlevel=ERRORLEVEL 452s show errorlevel as: none, message, exception, 452s traceback 452s -i INPUT, --input=INPUT 452s read from INPUT in tbx format 452s -x EXCLUDE, --exclude=EXCLUDE 452s exclude names matching EXCLUDE from input paths 452s -o OUTPUT, --output=OUTPUT 452s write to OUTPUT in po, pot formats 452s -S, --timestamp skip conversion if the output file has newer timestamp 452s ========= SMOKE TEST: /usr/bin/tiki2po =========== 452s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 452s 452s Convert TikiWiki's language.php files to Gettext PO localization files. See: 452s http://docs.translatehouse.org/projects/translate- 452s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 452s 452s Options: 452s --version show program's version number and exit 452s -h, --help show this help message and exit 452s --manpage output a manpage based on the help 452s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 452s --errorlevel=ERRORLEVEL 452s show errorlevel as: none, message, exception, 452s traceback 452s -i INPUT, --input=INPUT 452s read from INPUT in php format 452s -x EXCLUDE, --exclude=EXCLUDE 452s exclude names matching EXCLUDE from input paths 452s -o OUTPUT, --output=OUTPUT 452s write to OUTPUT in po, pot formats 452s -S, --timestamp skip conversion if the output file has newer timestamp 452s --include-unused Include strings in the unused section 452s ========= SMOKE TEST: /usr/bin/tmserver =========== 452s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 452s [-s SOURCE_LANG] [-b BIND] [-p PORT] 452s [--max-candidates MAX_CANDIDATES] 452s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 452s [--debug] 452s 452s options: 452s -h, --help show this help message and exit 452s -d TMDBFILE, --tmdb TMDBFILE 452s translation memory database file 452s -f TMFILES, --import-translation-file TMFILES 452s translation file to import into the database 452s -t TARGET_LANG, --import-target-lang TARGET_LANG 452s target language of translation files 452s -s SOURCE_LANG, --import-source-lang SOURCE_LANG 452s source language of translation files 452s -b BIND, --bind BIND address to bind server to (default: localhost) 452s -p PORT, --port PORT port to listen on (default: 8888) 452s --max-candidates MAX_CANDIDATES 452s Maximum number of candidates 452s --min-similarity MIN_SIMILARITY 452s minimum similarity 452s --max-length MAX_LENGTH 452s Maxmimum string length 452s --debug enable debugging features 452s ========= SMOKE TEST: /usr/bin/ts2po =========== 452s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 452s 452s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 452s http://docs.translatehouse.org/projects/translate- 452s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 452s 452s Options: 452s --version show program's version number and exit 452s -h, --help show this help message and exit 452s --manpage output a manpage based on the help 452s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 452s --errorlevel=ERRORLEVEL 452s show errorlevel as: none, message, exception, 452s traceback 452s -i INPUT, --input=INPUT 452s read from INPUT in ts format 452s -x EXCLUDE, --exclude=EXCLUDE 452s exclude names matching EXCLUDE from input paths 452s -o OUTPUT, --output=OUTPUT 452s write to OUTPUT in po, pot formats 452s -S, --timestamp skip conversion if the output file has newer timestamp 452s -P, --pot output PO Templates (.pot) rather than PO files (.po) 452s --duplicates=DUPLICATESTYLE 452s what to do with duplicate strings (identical source 452s text): merge, msgctxt (default: 'msgctxt') 452s ========= SMOKE TEST: /usr/bin/txt2po =========== 452s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 452s 452s Convert plain text (.txt) files to Gettext PO localization files. See: 452s http://docs.translatehouse.org/projects/translate- 452s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 452s 452s Options: 452s --version show program's version number and exit 452s -h, --help show this help message and exit 452s --manpage output a manpage based on the help 452s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 452s --errorlevel=ERRORLEVEL 452s show errorlevel as: none, message, exception, 452s traceback 452s -i INPUT, --input=INPUT 452s read from INPUT in *, txt formats 452s -x EXCLUDE, --exclude=EXCLUDE 452s exclude names matching EXCLUDE from input paths 452s -o OUTPUT, --output=OUTPUT 452s write to OUTPUT in po, pot formats 452s -S, --timestamp skip conversion if the output file has newer timestamp 452s -P, --pot output PO Templates (.pot) rather than PO files (.po) 452s --encoding=ENCODING The encoding of the input file (default: UTF-8) 452s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 452s mediawiki 452s --no-segmentation Don't segment the file, treat it like a single message 452s --duplicates=DUPLICATESTYLE 452s what to do with duplicate strings (identical source 452s text): merge, msgctxt (default: 'msgctxt') 452s ========= SMOKE TEST: /usr/bin/web2py2po =========== 453s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 453s 453s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in py format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 453s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 453s 453s Convert XLIFF translation files to OpenDocument (ODF) files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in xlf format 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 453s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 453s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 453s formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 453s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 453s 453s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 453s file. See: http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in po, pot, xlf, xliff formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in oo, sdf formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in oo, sdf formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -l LANG, --language=LANG 453s set target language code (e.g. af-ZA) [required] 453s --source-language=LANG 453s set source language code (default en-US) 453s -T, --keeptimestamp don't change the timestamps of the strings 453s --nonrecursiveoutput don't treat the output oo as a recursive store 453s --nonrecursivetemplate 453s don't treat the template oo as a recursive store 453s --skipsource don't output the source language, but fallback to it 453s where needed 453s --filteraction=ACTION 453s action on pofilter failure: none (default), warn, 453s exclude-serious, exclude-all 453s --fuzzy use translations marked fuzzy 453s --nofuzzy don't use translations marked fuzzy (default) 453s --multifile=MULTIFILESTYLE 453s how to split po/pot files (single, toplevel or 453s onefile) 453s ========= SMOKE TEST: /usr/bin/xliff2po =========== 453s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 453s 453s Convert XLIFF localization files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in xlf, xliff formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 453s ========= SMOKE TEST: /usr/bin/yaml2po =========== 453s 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] 453s 453s Convert YAML files to Gettext PO localization files. See: 453s http://docs.translatehouse.org/projects/translate- 453s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 453s 453s Options: 453s --version show program's version number and exit 453s -h, --help show this help message and exit 453s --manpage output a manpage based on the help 453s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 453s --errorlevel=ERRORLEVEL 453s show errorlevel as: none, message, exception, 453s traceback 453s -i INPUT, --input=INPUT 453s read from INPUT in yaml, yml formats 453s -x EXCLUDE, --exclude=EXCLUDE 453s exclude names matching EXCLUDE from input paths 453s -o OUTPUT, --output=OUTPUT 453s write to OUTPUT in po, pot formats 453s -t TEMPLATE, --template=TEMPLATE 453s read from TEMPLATE in yaml, yml formats 453s -S, --timestamp skip conversion if the output file has newer timestamp 453s -P, --pot output PO Templates (.pot) rather than PO files (.po) 453s --duplicates=DUPLICATESTYLE 453s what to do with duplicate strings (identical source 453s text): merge, msgctxt (default: 'msgctxt') 454s autopkgtest [02:49:21]: test translate-toolkit: -----------------------] 481s autopkgtest [02:49:48]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 481s translate-toolkit PASS 488s autopkgtest [02:49:55]: test python3-translate: preparing testbed 676s autopkgtest [02:53:03]: testbed dpkg architecture: amd64 676s autopkgtest [02:53:03]: testbed apt version: 2.9.6 676s autopkgtest [02:53:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 680s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [126 kB] 680s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [4724 B] 680s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [62.2 kB] 680s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [410 kB] 680s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [8548 B] 680s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 Packages [121 kB] 680s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/main i386 Packages [87.3 kB] 680s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 c-n-f Metadata [2116 B] 680s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/restricted i386 Packages [6244 B] 680s Get:10 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 Packages [34.9 kB] 680s Get:11 http://ftpmaster.internal/ubuntu oracular-proposed/restricted amd64 c-n-f Metadata [368 B] 680s Get:12 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 Packages [535 kB] 680s Get:13 http://ftpmaster.internal/ubuntu oracular-proposed/universe i386 Packages [358 kB] 680s Get:14 http://ftpmaster.internal/ubuntu oracular-proposed/universe amd64 c-n-f Metadata [9900 B] 680s Get:15 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse i386 Packages [3340 B] 680s Get:16 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 Packages [8896 B] 680s Get:17 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse amd64 c-n-f Metadata [276 B] 682s Fetched 1780 kB in 0s (6610 kB/s) 682s Reading package lists... 683s Reading package lists... 684s Building dependency tree... 684s Reading state information... 684s Calculating upgrade... 684s The following packages will be upgraded: 684s libbpf1 libheif-plugin-aomdec libheif-plugin-aomenc libheif-plugin-libde265 684s libheif1 libpython3-stdlib python3 python3-gdbm python3-minimal 684s 9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 684s Need to get 560 kB of archives. 684s After this operation, 30.7 kB of additional disk space will be used. 684s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-minimal amd64 3.12.4-1 [27.1 kB] 684s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3 amd64 3.12.4-1 [24.0 kB] 684s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 libpython3-stdlib amd64 3.12.4-1 [9818 B] 684s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libbpf1 amd64 1:1.4.5-1 [172 kB] 684s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-gdbm amd64 3.12.4-2 [18.2 kB] 684s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif-plugin-aomdec amd64 1.17.6-4build1 [10.3 kB] 684s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif-plugin-aomenc amd64 1.17.6-4build1 [14.8 kB] 684s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif1 amd64 1.17.6-4build1 [276 kB] 684s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libheif-plugin-libde265 amd64 1.17.6-4build1 [8328 B] 684s Fetched 560 kB in 0s (21.6 MB/s) 685s (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 ... 74487 files and directories currently installed.) 685s Preparing to unpack .../python3-minimal_3.12.4-1_amd64.deb ... 685s Unpacking python3-minimal (3.12.4-1) over (3.12.3-0ubuntu1) ... 685s Setting up python3-minimal (3.12.4-1) ... 685s (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 ... 74487 files and directories currently installed.) 685s Preparing to unpack .../0-python3_3.12.4-1_amd64.deb ... 685s Unpacking python3 (3.12.4-1) over (3.12.3-0ubuntu1) ... 685s Preparing to unpack .../1-libpython3-stdlib_3.12.4-1_amd64.deb ... 685s Unpacking libpython3-stdlib:amd64 (3.12.4-1) over (3.12.3-0ubuntu1) ... 685s Preparing to unpack .../2-libbpf1_1%3a1.4.5-1_amd64.deb ... 685s Unpacking libbpf1:amd64 (1:1.4.5-1) over (1:1.4.3-1) ... 685s Preparing to unpack .../3-python3-gdbm_3.12.4-2_amd64.deb ... 685s Unpacking python3-gdbm:amd64 (3.12.4-2) over (3.12.3-0ubuntu1) ... 685s Preparing to unpack .../4-libheif-plugin-aomdec_1.17.6-4build1_amd64.deb ... 685s Unpacking libheif-plugin-aomdec:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 685s Preparing to unpack .../5-libheif-plugin-aomenc_1.17.6-4build1_amd64.deb ... 685s Unpacking libheif-plugin-aomenc:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 685s Preparing to unpack .../6-libheif1_1.17.6-4build1_amd64.deb ... 685s Unpacking libheif1:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 685s Preparing to unpack .../7-libheif-plugin-libde265_1.17.6-4build1_amd64.deb ... 685s Unpacking libheif-plugin-libde265:amd64 (1.17.6-4build1) over (1.17.6-3build2) ... 685s Setting up libbpf1:amd64 (1:1.4.5-1) ... 685s Setting up libpython3-stdlib:amd64 (3.12.4-1) ... 685s Setting up python3 (3.12.4-1) ... 685s Setting up python3-gdbm:amd64 (3.12.4-2) ... 685s Setting up libheif-plugin-aomdec:amd64 (1.17.6-4build1) ... 685s Setting up libheif1:amd64 (1.17.6-4build1) ... 685s Setting up libheif-plugin-libde265:amd64 (1.17.6-4build1) ... 685s Setting up libheif-plugin-aomenc:amd64 (1.17.6-4build1) ... 685s Processing triggers for libc-bin (2.39-0ubuntu9) ... 685s Processing triggers for man-db (2.12.1-2) ... 686s Reading package lists... 686s Building dependency tree... 686s Reading state information... 687s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 688s Hit:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 688s Hit:2 http://ftpmaster.internal/ubuntu oracular InRelease 688s Hit:3 http://ftpmaster.internal/ubuntu oracular-updates InRelease 688s Hit:4 http://ftpmaster.internal/ubuntu oracular-security InRelease 689s Reading package lists... 689s Reading package lists... 689s Building dependency tree... 689s Reading state information... 690s Calculating upgrade... 690s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 690s Reading package lists... 690s Building dependency tree... 690s Reading state information... 690s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 709s Reading package lists... 709s Building dependency tree... 709s Reading state information... 709s Starting pkgProblemResolver with broken count: 0 709s Starting 2 pkgProblemResolver with broken count: 0 709s Done 710s The following additional packages will be installed: 710s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 710s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 710s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 710s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 710s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 710s python3-iniconfig python3-iniparse python3-jaraco.functools 710s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 710s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 710s python3-pytest python3-rapidfuzz python3-ruamel.yaml 710s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 710s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 710s Suggested packages: 710s ispell | aspell | hunspell wordlist autopoint gettext-doc libasprintf-dev 710s libgettextpo-dev hunspell openoffice.org-hunspell | openoffice.org-core 710s aspell libenchant-2-voikko xapian-tools python-charset-normalizer-doc 710s python-lxml-doc python-ply-doc python-rapidfuzz-doc python3-subversion 710s translate-toolkit-doc xapian-doc db5.3-util libapache2-mod-svn 710s subversion-tools 710s Recommended packages: 710s aspell-en | aspell-dictionary | aspell6a-dictionary enchant-2 710s python3-cssselect python3-html5lib 710s The following NEW packages will be installed: 710s autopkgtest-satdep dictionaries-common emacsen-common gettext hunspell-en-us 710s libapr1t64 libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data 710s libgomp1 libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 710s libxslt1.1 python3-aeidon python3-all python3-bs4 python3-charset-normalizer 710s python3-cheroot python3-dateutil python3-diff-match-patch python3-enchant 710s python3-iniconfig python3-iniparse python3-jaraco.functools 710s python3-levenshtein python3-lxml python3-mistletoe python3-more-itertools 710s python3-packaging python3-phply python3-pluggy python3-ply python3-pycountry 710s python3-pytest python3-rapidfuzz python3-ruamel.yaml 710s python3-ruamel.yaml.clib python3-simplejson python3-soupsieve python3-syrupy 710s python3-translate python3-vobject python3-wcwidth python3-xapian subversion 710s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 710s Need to get 11.6 MB/11.6 MB of archives. 710s After this operation, 53.0 MB of additional disk space will be used. 710s Get:1 /tmp/autopkgtest.s2Kz5y/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [892 B] 710s Get:2 http://ftpmaster.internal/ubuntu oracular/main amd64 emacsen-common all 3.0.5 [12.1 kB] 710s Get:3 http://ftpmaster.internal/ubuntu oracular/main amd64 dictionaries-common all 1.29.7 [188 kB] 710s Get:4 http://ftpmaster.internal/ubuntu oracular/main amd64 libgomp1 amd64 14.1.0-4ubuntu2 [148 kB] 710s Get:5 http://ftpmaster.internal/ubuntu oracular/main amd64 gettext amd64 0.22.5-1 [944 kB] 710s Get:6 http://ftpmaster.internal/ubuntu oracular/main amd64 hunspell-en-us all 1:2020.12.07-2 [280 kB] 710s Get:7 http://ftpmaster.internal/ubuntu oracular/main amd64 libapr1t64 amd64 1.7.2-3.2 [106 kB] 710s Get:8 http://ftpmaster.internal/ubuntu oracular/main amd64 libaprutil1t64 amd64 1.6.3-2ubuntu1 [92.1 kB] 710s Get:9 http://ftpmaster.internal/ubuntu oracular/main amd64 libaspell15 amd64 0.60.8.1-1build1 [323 kB] 710s Get:10 http://ftpmaster.internal/ubuntu oracular/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 710s Get:11 http://ftpmaster.internal/ubuntu oracular/main amd64 libenchant-2-2 amd64 2.3.3-2build2 [51.4 kB] 710s Get:12 http://ftpmaster.internal/ubuntu oracular/main amd64 libexttextcat-data all 3.4.7-1build1 [193 kB] 710s Get:13 http://ftpmaster.internal/ubuntu oracular/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 710s Get:14 http://ftpmaster.internal/ubuntu oracular/universe amd64 libutf8proc3 amd64 2.9.0-1build1 [70.6 kB] 710s Get:15 http://ftpmaster.internal/ubuntu oracular/universe amd64 libsvn1 amd64 1.14.3-2 [1344 kB] 710s Get:16 http://ftpmaster.internal/ubuntu oracular/universe amd64 libxapian30 amd64 1.4.22-1build1 [716 kB] 710s Get:17 http://ftpmaster.internal/ubuntu oracular/main amd64 libxslt1.1 amd64 1.1.39-0exp1build1 [167 kB] 710s Get:18 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-aeidon all 1.15-1 [231 kB] 710s Get:19 http://ftpmaster.internal/ubuntu oracular-proposed/main amd64 python3-all amd64 3.12.4-1 [882 B] 710s Get:20 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-soupsieve all 2.5-1 [33.0 kB] 710s Get:21 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-bs4 all 4.12.3-1 [109 kB] 710s Get:22 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-charset-normalizer all 3.3.2-1 [47.9 kB] 710s Get:23 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-more-itertools all 10.3.0-1 [54.9 kB] 710s Get:24 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-jaraco.functools all 4.0.0-1 [10.7 kB] 710s Get:25 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-cheroot all 10.0.0+ds1-2 [73.0 kB] 710s Get:26 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-dateutil all 2.9.0-2 [80.3 kB] 710s Get:27 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-diff-match-patch all 20230430-1 [33.1 kB] 710s Get:28 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-enchant all 3.2.2-1 [34.0 kB] 710s Get:29 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 710s Get:30 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-rapidfuzz amd64 3.9.4+ds-1 [2028 kB] 710s Get:31 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-levenshtein amd64 0.25.1-3 [120 kB] 710s Get:32 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-lxml amd64 5.2.2-1 [1243 kB] 710s Get:33 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-mistletoe all 1.3.0-1 [38.0 kB] 710s Get:34 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-packaging all 24.1-1 [41.4 kB] 710s Get:35 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-ply all 3.11-6 [46.5 kB] 710s Get:36 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 710s Get:37 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 710s Get:38 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pytest all 7.4.4-1 [305 kB] 710s Get:39 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml.clib amd64 0.2.8-1build1 [132 kB] 710s Get:40 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-ruamel.yaml all 0.17.21-1 [86.6 kB] 710s Get:41 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-simplejson amd64 3.19.2-1build2 [54.5 kB] 710s Get:42 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-syrupy all 4.6.1-1 [42.8 kB] 710s Get:43 http://ftpmaster.internal/ubuntu oracular/main amd64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB] 710s Get:44 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-translate all 3.13.2-1 [319 kB] 710s Get:45 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-vobject all 0.9.6.1-2 [40.6 kB] 710s Get:46 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-xapian amd64 1.4.22-1build5 [373 kB] 710s Get:47 http://ftpmaster.internal/ubuntu oracular/universe amd64 subversion amd64 1.14.3-2 [908 kB] 710s Get:48 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-iniparse all 0.5-2 [20.0 kB] 710s Get:49 http://ftpmaster.internal/ubuntu oracular/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 710s Preconfiguring packages ... 711s Fetched 11.6 MB in 0s (52.0 MB/s) 711s Selecting previously unselected package emacsen-common. 711s (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 ... 74490 files and directories currently installed.) 711s Preparing to unpack .../00-emacsen-common_3.0.5_all.deb ... 711s Unpacking emacsen-common (3.0.5) ... 711s Selecting previously unselected package dictionaries-common. 711s Preparing to unpack .../01-dictionaries-common_1.29.7_all.deb ... 711s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 711s Unpacking dictionaries-common (1.29.7) ... 711s Selecting previously unselected package libgomp1:amd64. 711s Preparing to unpack .../02-libgomp1_14.1.0-4ubuntu2_amd64.deb ... 711s Unpacking libgomp1:amd64 (14.1.0-4ubuntu2) ... 711s Selecting previously unselected package gettext. 711s Preparing to unpack .../03-gettext_0.22.5-1_amd64.deb ... 711s Unpacking gettext (0.22.5-1) ... 711s Selecting previously unselected package hunspell-en-us. 711s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-2_all.deb ... 711s Unpacking hunspell-en-us (1:2020.12.07-2) ... 711s Selecting previously unselected package libapr1t64:amd64. 711s Preparing to unpack .../05-libapr1t64_1.7.2-3.2_amd64.deb ... 711s Unpacking libapr1t64:amd64 (1.7.2-3.2) ... 711s Selecting previously unselected package libaprutil1t64:amd64. 711s Preparing to unpack .../06-libaprutil1t64_1.6.3-2ubuntu1_amd64.deb ... 711s Unpacking libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 711s Selecting previously unselected package libaspell15:amd64. 711s Preparing to unpack .../07-libaspell15_0.60.8.1-1build1_amd64.deb ... 711s Unpacking libaspell15:amd64 (0.60.8.1-1build1) ... 711s Selecting previously unselected package libhunspell-1.7-0:amd64. 711s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 711s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 711s Selecting previously unselected package libenchant-2-2:amd64. 711s Preparing to unpack .../09-libenchant-2-2_2.3.3-2build2_amd64.deb ... 711s Unpacking libenchant-2-2:amd64 (2.3.3-2build2) ... 711s Selecting previously unselected package libexttextcat-data. 711s Preparing to unpack .../10-libexttextcat-data_3.4.7-1build1_all.deb ... 711s Unpacking libexttextcat-data (3.4.7-1build1) ... 711s Selecting previously unselected package libserf-1-1:amd64. 711s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 711s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 711s Selecting previously unselected package libutf8proc3:amd64. 711s Preparing to unpack .../12-libutf8proc3_2.9.0-1build1_amd64.deb ... 711s Unpacking libutf8proc3:amd64 (2.9.0-1build1) ... 711s Selecting previously unselected package libsvn1:amd64. 711s Preparing to unpack .../13-libsvn1_1.14.3-2_amd64.deb ... 711s Unpacking libsvn1:amd64 (1.14.3-2) ... 711s Selecting previously unselected package libxapian30:amd64. 711s Preparing to unpack .../14-libxapian30_1.4.22-1build1_amd64.deb ... 711s Unpacking libxapian30:amd64 (1.4.22-1build1) ... 711s Selecting previously unselected package libxslt1.1:amd64. 711s Preparing to unpack .../15-libxslt1.1_1.1.39-0exp1build1_amd64.deb ... 711s Unpacking libxslt1.1:amd64 (1.1.39-0exp1build1) ... 711s Selecting previously unselected package python3-aeidon. 711s Preparing to unpack .../16-python3-aeidon_1.15-1_all.deb ... 711s Unpacking python3-aeidon (1.15-1) ... 711s Selecting previously unselected package python3-all. 711s Preparing to unpack .../17-python3-all_3.12.4-1_amd64.deb ... 711s Unpacking python3-all (3.12.4-1) ... 711s Selecting previously unselected package python3-soupsieve. 711s Preparing to unpack .../18-python3-soupsieve_2.5-1_all.deb ... 711s Unpacking python3-soupsieve (2.5-1) ... 711s Selecting previously unselected package python3-bs4. 711s Preparing to unpack .../19-python3-bs4_4.12.3-1_all.deb ... 711s Unpacking python3-bs4 (4.12.3-1) ... 712s Selecting previously unselected package python3-charset-normalizer. 712s Preparing to unpack .../20-python3-charset-normalizer_3.3.2-1_all.deb ... 712s Unpacking python3-charset-normalizer (3.3.2-1) ... 712s Selecting previously unselected package python3-more-itertools. 712s Preparing to unpack .../21-python3-more-itertools_10.3.0-1_all.deb ... 712s Unpacking python3-more-itertools (10.3.0-1) ... 712s Selecting previously unselected package python3-jaraco.functools. 712s Preparing to unpack .../22-python3-jaraco.functools_4.0.0-1_all.deb ... 712s Unpacking python3-jaraco.functools (4.0.0-1) ... 712s Selecting previously unselected package python3-cheroot. 712s Preparing to unpack .../23-python3-cheroot_10.0.0+ds1-2_all.deb ... 712s Unpacking python3-cheroot (10.0.0+ds1-2) ... 712s Selecting previously unselected package python3-dateutil. 712s Preparing to unpack .../24-python3-dateutil_2.9.0-2_all.deb ... 712s Unpacking python3-dateutil (2.9.0-2) ... 712s Selecting previously unselected package python3-diff-match-patch. 712s Preparing to unpack .../25-python3-diff-match-patch_20230430-1_all.deb ... 712s Unpacking python3-diff-match-patch (20230430-1) ... 712s Selecting previously unselected package python3-enchant. 712s Preparing to unpack .../26-python3-enchant_3.2.2-1_all.deb ... 712s Unpacking python3-enchant (3.2.2-1) ... 712s Selecting previously unselected package python3-iniconfig. 712s Preparing to unpack .../27-python3-iniconfig_1.1.1-2_all.deb ... 712s Unpacking python3-iniconfig (1.1.1-2) ... 712s Selecting previously unselected package python3-rapidfuzz. 712s Preparing to unpack .../28-python3-rapidfuzz_3.9.4+ds-1_amd64.deb ... 712s Unpacking python3-rapidfuzz (3.9.4+ds-1) ... 712s Selecting previously unselected package python3-levenshtein. 712s Preparing to unpack .../29-python3-levenshtein_0.25.1-3_amd64.deb ... 712s Unpacking python3-levenshtein (0.25.1-3) ... 712s Selecting previously unselected package python3-lxml:amd64. 712s Preparing to unpack .../30-python3-lxml_5.2.2-1_amd64.deb ... 712s Unpacking python3-lxml:amd64 (5.2.2-1) ... 712s Selecting previously unselected package python3-mistletoe. 712s Preparing to unpack .../31-python3-mistletoe_1.3.0-1_all.deb ... 712s Unpacking python3-mistletoe (1.3.0-1) ... 712s Selecting previously unselected package python3-packaging. 712s Preparing to unpack .../32-python3-packaging_24.1-1_all.deb ... 712s Unpacking python3-packaging (24.1-1) ... 712s Selecting previously unselected package python3-ply. 712s Preparing to unpack .../33-python3-ply_3.11-6_all.deb ... 712s Unpacking python3-ply (3.11-6) ... 712s Selecting previously unselected package python3-phply. 712s Preparing to unpack .../34-python3-phply_1.2.6-1_all.deb ... 712s Unpacking python3-phply (1.2.6-1) ... 712s Selecting previously unselected package python3-pluggy. 712s Preparing to unpack .../35-python3-pluggy_1.5.0-1_all.deb ... 712s Unpacking python3-pluggy (1.5.0-1) ... 712s Selecting previously unselected package python3-pytest. 712s Preparing to unpack .../36-python3-pytest_7.4.4-1_all.deb ... 712s Unpacking python3-pytest (7.4.4-1) ... 712s Selecting previously unselected package python3-ruamel.yaml.clib:amd64. 712s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.8-1build1_amd64.deb ... 712s Unpacking python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 712s Selecting previously unselected package python3-ruamel.yaml. 712s Preparing to unpack .../38-python3-ruamel.yaml_0.17.21-1_all.deb ... 712s Unpacking python3-ruamel.yaml (0.17.21-1) ... 712s Selecting previously unselected package python3-simplejson. 712s Preparing to unpack .../39-python3-simplejson_3.19.2-1build2_amd64.deb ... 712s Unpacking python3-simplejson (3.19.2-1build2) ... 712s Selecting previously unselected package python3-syrupy. 712s Preparing to unpack .../40-python3-syrupy_4.6.1-1_all.deb ... 712s Unpacking python3-syrupy (4.6.1-1) ... 712s Selecting previously unselected package python3-wcwidth. 712s Preparing to unpack .../41-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ... 712s Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 712s Selecting previously unselected package python3-translate. 712s Preparing to unpack .../42-python3-translate_3.13.2-1_all.deb ... 712s Unpacking python3-translate (3.13.2-1) ... 712s Selecting previously unselected package python3-vobject. 713s Preparing to unpack .../43-python3-vobject_0.9.6.1-2_all.deb ... 713s Unpacking python3-vobject (0.9.6.1-2) ... 713s Selecting previously unselected package python3-xapian. 713s Preparing to unpack .../44-python3-xapian_1.4.22-1build5_amd64.deb ... 713s Unpacking python3-xapian (1.4.22-1build5) ... 713s Selecting previously unselected package subversion. 713s Preparing to unpack .../45-subversion_1.14.3-2_amd64.deb ... 713s Unpacking subversion (1.14.3-2) ... 713s Selecting previously unselected package python3-iniparse. 713s Preparing to unpack .../46-python3-iniparse_0.5-2_all.deb ... 713s Unpacking python3-iniparse (0.5-2) ... 713s Selecting previously unselected package python3-pycountry. 713s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 713s Unpacking python3-pycountry (24.6.1+ds1-1) ... 713s Selecting previously unselected package autopkgtest-satdep. 713s Preparing to unpack .../48-2-autopkgtest-satdep.deb ... 713s Unpacking autopkgtest-satdep (0) ... 713s Setting up python3-more-itertools (10.3.0-1) ... 713s Setting up python3-iniconfig (1.1.1-2) ... 713s Setting up libxapian30:amd64 (1.4.22-1build1) ... 713s Setting up python3-rapidfuzz (3.9.4+ds-1) ... 713s Setting up python3-diff-match-patch (20230430-1) ... 714s Setting up python3-jaraco.functools (4.0.0-1) ... 714s Setting up python3-aeidon (1.15-1) ... 714s Setting up libutf8proc3:amd64 (2.9.0-1build1) ... 714s Setting up libaspell15:amd64 (0.60.8.1-1build1) ... 714s Setting up python3-charset-normalizer (3.3.2-1) ... 714s Setting up python3-ply (3.11-6) ... 714s Setting up python3-ruamel.yaml.clib:amd64 (0.2.8-1build1) ... 714s Setting up python3-all (3.12.4-1) ... 714s Setting up libgomp1:amd64 (14.1.0-4ubuntu2) ... 714s Setting up python3-simplejson (3.19.2-1build2) ... 714s Setting up python3-packaging (24.1-1) ... 714s Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ... 715s Setting up emacsen-common (3.0.5) ... 715s Setting up python3-cheroot (10.0.0+ds1-2) ... 715s Setting up python3-pycountry (24.6.1+ds1-1) ... 715s Setting up python3-xapian (1.4.22-1build5) ... 715s Setting up python3-pluggy (1.5.0-1) ... 715s Setting up python3-ruamel.yaml (0.17.21-1) ... 716s Setting up python3-mistletoe (1.3.0-1) ... 716s Setting up libexttextcat-data (3.4.7-1build1) ... 716s Setting up libapr1t64:amd64 (1.7.2-3.2) ... 716s Setting up libxslt1.1:amd64 (1.1.39-0exp1build1) ... 716s Setting up python3-dateutil (2.9.0-2) ... 716s Setting up python3-levenshtein (0.25.1-3) ... 716s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 716s Setting up python3-soupsieve (2.5-1) ... 716s Setting up python3-iniparse (0.5-2) ... 716s Setting up libaprutil1t64:amd64 (1.6.3-2ubuntu1) ... 716s Setting up python3-vobject (0.9.6.1-2) ... 716s /usr/lib/python3/dist-packages/vobject/base.py:736: SyntaxWarning: invalid escape sequence '\-' 716s patterns['name'] = '[a-zA-Z0-9\-_]+' 716s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\;' 716s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 716s /usr/lib/python3/dist-packages/vobject/base.py:1219: SyntaxWarning: invalid escape sequence '\,' 716s s = s.replace("\\", "\\\\").replace(";", "\;").replace(",", "\,") 716s /usr/lib/python3/dist-packages/vobject/hcalendar.py:1: SyntaxWarning: invalid escape sequence '\,' 716s """ 716s Setting up gettext (0.22.5-1) ... 716s Setting up python3-phply (1.2.6-1) ... 717s Setting up dictionaries-common (1.29.7) ... 717s Setting up python3-pytest (7.4.4-1) ... 717s Setting up python3-syrupy (4.6.1-1) ... 718s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 718s Setting up python3-bs4 (4.12.3-1) ... 718s Setting up python3-lxml:amd64 (5.2.2-1) ... 718s Setting up hunspell-en-us (1:2020.12.07-2) ... 718s Setting up libsvn1:amd64 (1.14.3-2) ... 718s Setting up libenchant-2-2:amd64 (2.3.3-2build2) ... 718s Setting up subversion (1.14.3-2) ... 718s Setting up python3-enchant (3.2.2-1) ... 718s Setting up python3-translate (3.13.2-1) ... 719s Setting up autopkgtest-satdep (0) ... 719s Processing triggers for man-db (2.12.1-2) ... 720s Processing triggers for install-info (7.1-3build2) ... 720s Processing triggers for libc-bin (2.39-0ubuntu9) ... 720s Processing triggers for dictionaries-common (1.29.7) ... 736s (Reading database ... 77994 files and directories currently installed.) 736s Removing autopkgtest-satdep (0) ... 751s autopkgtest [02:54:18]: test python3-translate: [----------------------- 753s ============================= test session starts ============================== 753s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 753s cachedir: .pytest_cache 753s rootdir: /tmp/autopkgtest.s2Kz5y/autopkgtest_tmp 753s plugins: syrupy-4.6.1 759s collecting ... collected 3340 items / 2 skipped 759s 759s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 759s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 759s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 759s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 759s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 759s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 759s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 759s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 759s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 759s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 759s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 759s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 759s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 759s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 759s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 759s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 759s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 759s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 759s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 759s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 759s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 759s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 759s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 759s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 759s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 759s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 759s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 759s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 759s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 759s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 759s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 759s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 759s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 766s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 766s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 766s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 766s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 766s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 766s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 766s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 766s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 766s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 766s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 766s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 766s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 766s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 766s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 766s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 766s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 766s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 766s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 766s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 766s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 766s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 766s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 766s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 766s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 766s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 766s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 766s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 766s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 766s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 766s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 766s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 766s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 766s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 766s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 766s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 766s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 766s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 766s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 766s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 766s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 766s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 766s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 766s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 766s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 766s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 766s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 766s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 766s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 766s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 766s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 766s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 766s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 766s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 766s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 766s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 766s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 766s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 766s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 766s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 766s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 766s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 766s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 766s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 766s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 766s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 766s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 766s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 766s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 766s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 766s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 766s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 766s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 766s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 766s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 766s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 766s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 766s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 766s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 766s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 766s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 766s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 766s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 766s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 766s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 766s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 766s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 766s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 766s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 766s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 766s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 766s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 766s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 766s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 766s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 766s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 766s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 766s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 766s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 766s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 766s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 766s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 766s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 766s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 766s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 766s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 766s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 766s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 766s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 766s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 766s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 766s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 766s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 766s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 766s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 766s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 766s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 766s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 766s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 766s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 766s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 766s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 766s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 766s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 766s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 766s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 766s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 766s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 766s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 766s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 766s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 766s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 766s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 766s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 766s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 766s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 766s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 766s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 766s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 766s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 766s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 766s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 766s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 766s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 766s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 766s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 766s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 766s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 766s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 766s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 766s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 766s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 766s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 766s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 766s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 766s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 766s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 766s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 766s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 766s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 766s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 766s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 766s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 766s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 766s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 766s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 766s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 766s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 766s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 766s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 766s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 766s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 766s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 766s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 766s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 766s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 766s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 766s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 766s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 766s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 766s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 766s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 766s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 766s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 766s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 766s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 766s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 766s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 766s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 766s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 766s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 767s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 767s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 767s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 767s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 767s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 767s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 767s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 767s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 767s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 767s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 767s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 767s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 767s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 767s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 767s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 767s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 767s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 767s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 767s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 767s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 767s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 767s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 767s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 767s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 767s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 768s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 768s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 768s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 769s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 769s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 769s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 769s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 769s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 769s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 769s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 769s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 769s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 769s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 769s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 769s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 769s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 769s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 769s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 94%] 769s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 94%] 769s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 769s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 769s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 769s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 769s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 769s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 769s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 769s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 769s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 769s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 769s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 769s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 769s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 769s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 769s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 769s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 769s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 769s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 769s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 769s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 769s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 769s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 769s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 769s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 769s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 769s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 769s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 769s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 769s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 769s 769s =============================== warnings summary =============================== 769s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 769s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.s2Kz5y/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 769s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 769s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 769s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 769s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 769s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 769s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 769s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 769s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 769s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 769s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 769s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 769s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 769s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 769s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 769s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 769s Warning: Could not find accesskey for key.accesskey 769s 769s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 769s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 769s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 769s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 769s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 769s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.s2Kz5y/autopkgtest_tmp/tests/translate/convert/test.idml'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 769s Warning: unclosed file <_io.BufferedReader name='translation.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 769s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 769s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 769s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 769s Warning: Could not find accesskey for prop.accesskey 769s 769s tests/translate/convert/test_po2tmx.py: 26 warnings 769s tests/translate/filters/test_pofilter.py: 13 warnings 769s tests/translate/storage/test_tbx.py: 17 warnings 769s tests/translate/storage/test_tmx.py: 24 warnings 769s 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' 769s 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 769s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 769s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 769s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 769s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 769s Enable tracemalloc to get traceback where the object was allocated. 769s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 769s 770s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 770s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 770s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 770s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 770s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 770s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 770s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 770s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 770s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 770s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.s2Kz5y/autopkgtest_tmp/tests/translate/convert/test.odt'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 770s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 770s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 770s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 770s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 770s Enable tracemalloc to get traceback where the object was allocated. 770s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 770s 770s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 770s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 770s 770s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 770s Warning: DTD file '' does not validate 770s 770s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 770s --------------------------- snapshot report summary ---------------------------- 770s 23 snapshots passed. 770s =========================== short test summary info ============================ 770s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 770s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 770s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 770s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 770s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 770s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 770s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 770s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 770s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 770s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 770s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 770s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 770s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 770s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 770s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 770s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 770s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 770s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 770s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 770s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 770s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 770s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 770s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 770s 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. 770s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 770s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 770s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 770s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 770s 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 770s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 770s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 770s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 770s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 770s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 770s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 770s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 770s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 770s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 770s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 770s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 770s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 770s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 770s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 770s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 770s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 770s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 770s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 770s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 770s ========= 3279 passed, 22 skipped, 41 xfailed, 126 warnings in 16.61s ========== 770s autopkgtest [02:54:37]: test python3-translate: -----------------------] 771s python3-translate PASS 771s autopkgtest [02:54:38]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 771s autopkgtest [02:54:38]: test python3-translate-commands: preparing testbed 771s Reading package lists... 771s Building dependency tree... 771s Reading state information... 772s Starting pkgProblemResolver with broken count: 0 772s Starting 2 pkgProblemResolver with broken count: 0 772s Done 772s The following additional packages will be installed: 772s translate-toolkit 772s Recommended packages: 772s translate-toolkit-doc 772s The following NEW packages will be installed: 772s autopkgtest-satdep translate-toolkit 772s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 772s Need to get 81.0 kB/81.9 kB of archives. 772s After this operation, 225 kB of additional disk space will be used. 772s Get:1 /tmp/autopkgtest.s2Kz5y/3-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [904 B] 772s Get:2 http://ftpmaster.internal/ubuntu oracular/universe amd64 translate-toolkit all 3.13.2-1 [81.0 kB] 773s Fetched 81.0 kB in 0s (2833 kB/s) 773s Selecting previously unselected package translate-toolkit. 773s (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 ... 77994 files and directories currently installed.) 773s Preparing to unpack .../translate-toolkit_3.13.2-1_all.deb ... 773s Unpacking translate-toolkit (3.13.2-1) ... 773s Selecting previously unselected package autopkgtest-satdep. 773s Preparing to unpack .../3-autopkgtest-satdep.deb ... 773s Unpacking autopkgtest-satdep (0) ... 773s Setting up translate-toolkit (3.13.2-1) ... 773s Setting up autopkgtest-satdep (0) ... 773s Processing triggers for man-db (2.12.1-2) ... 776s (Reading database ... 78164 files and directories currently installed.) 776s Removing autopkgtest-satdep (0) ... 789s autopkgtest [02:54:56]: test python3-translate-commands: [----------------------- 790s ============================= test session starts ============================== 790s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 790s cachedir: .pytest_cache 790s rootdir: /tmp/autopkgtest.s2Kz5y/autopkgtest_tmp 790s plugins: syrupy-4.6.1 795s collecting ... collected 3340 items / 2 skipped 795s 795s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 795s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 795s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 795s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 795s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 795s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 795s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 795s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 795s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 795s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 795s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 795s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 795s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 795s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 795s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 6%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 6%] 796s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 796s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 796s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 796s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 796s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 796s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 796s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 796s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 796s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 796s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 796s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 796s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 796s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 796s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 796s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 796s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 796s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 796s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 796s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 796s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 796s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 13%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 13%] 796s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 796s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 796s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 15%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 15%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 15%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 15%] 796s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 15%] 796s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 15%] 796s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 16%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 16%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 16%] 796s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 796s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 796s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 796s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 796s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 796s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 796s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 17%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 17%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 17%] 796s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 17%] 796s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 17%] 796s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 17%] 796s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 797s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 797s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 797s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 797s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 797s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 798s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 798s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 798s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 798s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 22%] 798s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 22%] 798s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 22%] 798s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 22%] 798s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 22%] 798s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 22%] 798s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 798s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 798s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 798s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 24%] 798s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 24%] 798s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 24%] 798s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 24%] 798s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 798s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 25%] 798s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 27%] 798s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 27%] 798s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 798s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 798s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 798s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 798s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 798s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 798s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 798s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 798s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 798s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 798s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 798s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 798s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 29%] 798s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 798s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 30%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 30%] 798s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 798s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 798s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 798s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 798s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 798s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 798s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 798s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 32%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 32%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 32%] 798s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 32%] 799s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 32%] 799s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 32%] 799s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 32%] 799s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 799s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 799s tests/translate/filters/test_checks.py::test_long PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 33%] 799s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_numbers PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_options PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_printf PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 799s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 799s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 799s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 34%] 799s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_functions PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_emails PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_urls PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_credits PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_gconf PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_validxml PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 799s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 799s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 799s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 799s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 799s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 799s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 799s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 799s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 799s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 799s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 799s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 799s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 799s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 799s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 799s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 799s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 799s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 799s tests/translate/lang/test_common.py::test_alter_length PASSED [ 37%] 799s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 37%] 799s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 37%] 799s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_el.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_es.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_fa.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 37%] 799s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 37%] 799s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_fr.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_hy.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 799s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 799s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 799s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 799s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 799s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 799s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 799s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 799s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 799s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 38%] 799s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 38%] 799s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 38%] 799s tests/translate/lang/test_team.py::test_simple PASSED [ 38%] 799s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 38%] 799s tests/translate/lang/test_th.py::test_sentences PASSED [ 38%] 799s tests/translate/lang/test_tr.py::test_sentences PASSED [ 38%] 799s tests/translate/lang/test_uk.py::test_sentences PASSED [ 38%] 799s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 38%] 799s tests/translate/lang/test_vi.py::test_sentences PASSED [ 38%] 799s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 38%] 799s tests/translate/lang/test_zh.py::test_sentences PASSED [ 38%] 799s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 38%] 799s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 38%] 799s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 799s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 799s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 799s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 799s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 799s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 799s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 799s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 799s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 799s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 39%] 799s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 39%] 799s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 39%] 799s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 39%] 799s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 39%] 799s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 39%] 799s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 799s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 799s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 799s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 800s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 39%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 40%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 41%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 42%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 43%] 800s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 43%] 801s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 44%] 801s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 45%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 45%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 45%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 45%] 801s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 46%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 46%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 46%] 801s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 46%] 801s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 46%] 801s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 46%] 801s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 46%] 801s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 46%] 801s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 46%] 801s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 48%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 48%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 48%] 801s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 48%] 801s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 48%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 48%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 49%] 801s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 49%] 801s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 49%] 801s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 49%] 801s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 49%] 801s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 49%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 49%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 50%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 50%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 50%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 50%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 50%] 801s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 801s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 52%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 53%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 54%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 55%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 56%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 57%] 801s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 57%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 801s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 58%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 801s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 801s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 801s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 801s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 61%] 801s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 61%] 801s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 801s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 801s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 62%] 801s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 62%] 801s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 62%] 801s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 62%] 801s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 801s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 801s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 801s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 65%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 65%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 65%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 65%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 65%] 801s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 65%] 801s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 801s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 801s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis XFAIL [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 801s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 801s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 801s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 801s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 69%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 802s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 71%] 802s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 802s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 74%] 803s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis XFAIL [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 806s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 78%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 78%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 78%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 78%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 78%] 806s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 806s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 806s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 809s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 80%] 809s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 81%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 81%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 81%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 81%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 81%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 81%] 809s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 82%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 82%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 82%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 82%] 809s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_isfuzzy PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_eq PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_escapes PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_difficult_escapes PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_target PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_get PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_rich_set PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 809s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 84%] 809s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 84%] 809s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 809s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 809s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 809s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 809s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 809s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 809s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 809s tests/translate/storage/test_trados.py::test_unescape PASSED [ 85%] 809s tests/translate/storage/test_trados.py::test_escape PASSED [ 85%] 809s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 85%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 86%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 87%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 87%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 87%] 809s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 87%] 809s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 87%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 88%] 809s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 88%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 89%] 809s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 89%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 90%] 809s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 90%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 91%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 92%] 809s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 92%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 93%] 809s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 93%] 809s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 93%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 94%] 809s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 94%] 809s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 94%] 809s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 94%] 809s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 94%] 809s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 94%] 809s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 94%] 809s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 809s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 94%] 809s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 809s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 809s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 809s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 809s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 809s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 809s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 809s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 809s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 809s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 809s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 809s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 809s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 809s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 95%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 809s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 96%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 809s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 809s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 97%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 809s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 809s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 809s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 809s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 809s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 809s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 809s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 809s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 809s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 809s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 809s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 809s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 809s 809s =============================== warnings summary =============================== 809s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 809s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.s2Kz5y/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 809s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 809s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 809s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 809s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 809s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 809s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 809s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 809s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 809s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 809s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 809s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 809s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 809s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 809s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 809s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 809s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 809s Warning: Could not find accesskey for key.accesskey 809s 809s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 809s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 809s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 809s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 809s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 809s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.s2Kz5y/autopkgtest_tmp/tests/translate/convert/test.idml'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 809s Warning: unclosed file <_io.BufferedReader name='translation.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 809s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape 809s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 809s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 809s Warning: Could not find accesskey for prop.accesskey 809s 809s tests/translate/convert/test_po2tmx.py: 26 warnings 809s tests/translate/filters/test_pofilter.py: 13 warnings 809s tests/translate/storage/test_tbx.py: 17 warnings 809s tests/translate/storage/test_tmx.py: 24 warnings 809s 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' 809s 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 809s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 809s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 809s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 809s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 809s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 809s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 809s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 809s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 809s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 809s Warning: unclosed file <_io.BufferedWriter name='simple.odt'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 809s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.s2Kz5y/autopkgtest_tmp/tests/translate/convert/test.odt'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 809s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 809s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 809s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 809s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 809s Enable tracemalloc to get traceback where the object was allocated. 809s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 809s 809s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 809s Warning: DTD parse error: :1:36:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 809s 809s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 809s Warning: DTD file '' does not validate 809s 809s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 809s --------------------------- snapshot report summary ---------------------------- 809s 23 snapshots passed. 809s =========================== short test summary info ============================ 809s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 809s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 809s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 809s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 809s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 809s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 809s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 809s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 809s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 809s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 809s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 809s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 809s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 809s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 809s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 809s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 809s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 809s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 809s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 809s 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. 809s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 809s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 809s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 809s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 809s 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 809s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 809s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 809s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 809s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 809s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 809s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 809s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis - Incompatible wrapping with gettext, see #5251 809s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 809s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 809s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 809s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 809s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 809s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 809s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 809s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 809s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 809s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 809s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 809s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 809s ========== 3298 passed, 3 skipped, 41 xfailed, 126 warnings in 17.81s ========== 810s autopkgtest [02:55:17]: test python3-translate-commands: -----------------------] 810s autopkgtest [02:55:17]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 810s python3-translate-commands PASS 810s autopkgtest [02:55:17]: @@@@@@@@@@@@@@@@@@@@ summary 810s translate-toolkit PASS 810s python3-translate PASS 810s python3-translate-commands PASS 856s nova [W] Skipping flock for amd64 856s Creating nova instance adt-oracular-amd64-translate-toolkit-20240721-024147-juju-7f2275-prod-proposed-migration-environment-3-5d4d21f6-c904-4a15-ba33-e93eb9c94fdd from image adt/ubuntu-oracular-amd64-server-20240720.img (UUID 7d1e67ab-b95e-41e3-9f93-a01c05dbb6a2)... 856s nova [W] Skipping flock for amd64 856s Creating nova instance adt-oracular-amd64-translate-toolkit-20240721-024147-juju-7f2275-prod-proposed-migration-environment-3-5d4d21f6-c904-4a15-ba33-e93eb9c94fdd from image adt/ubuntu-oracular-amd64-server-20240720.img (UUID 7d1e67ab-b95e-41e3-9f93-a01c05dbb6a2)...